- 浏览: 906083 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (322)
- Hibernate研究&源码 (27)
- Server (10)
- Coder碎语 (64)
- EnglishMulling (11)
- About XML (1)
- persistence (12)
- Core Java & OO (23)
- Java EE (6)
- JavaScript/JSON/Ajax/ext... (22)
- 我的读书笔记 (16)
- Source Codes Study (29)
- workFlow/jBPM (22)
- OFBiz: Open For Business (1)
- 项目积累 (21)
- srcStudy_acegi (1)
- Cache/Ehcache... (9)
- Java Test/JUnit.. (7)
- maven/ant (2)
- 设计模式 (1)
- SOA/cxf/ws-security (2)
- Android (4)
- 云计算/Hadoop (2)
- 加密/签名 (1)
- 正则表达式 (1)
- htmlparser (1)
- 操作系统 (5)
- DB (1)
最新评论
-
天使建站:
这里这篇文章更详细 还有完整的实例演示:js跳出循环 ...
jQuery中each的break和continue -
heshifk:
刚刚我也遇到同样的问题,然后就在纠结为什么不能直接使用brea ...
jQuery中each的break和continue -
masuweng:
不错写的.
集万千宠爱于一身的SessionImpl:get研究(四): Hibernate源码研究碎得(8) -
muzi131313:
这个老是忘,做一下笔记还是挺好的
jQuery中each的break和continue -
lg068:
data = data.replace("\n&qu ...
项目小经验: eval与回车符
实验用例子的总体结构是这样的:
.
|-- ./build.xml
|-- ./lib
| |-- ./lib/commons-logging-1.1.1.jar
| `-- ./lib/log4j-1.2.13.jar
`-- ./src
|-- ./src/com
| `-- ./src/com/sinoi
| `-- ./src/com/sinoi/dataIO
| `-- ./src/com/sinoi/dataIO/Main.java
`-- ./src/log4j.properties
这个代码很简单, 就一个Java类Main.java, 在这里就只有一句话, 通过logger写一个“Hello world”。
Java代码是: logger.info("hello world");
这里就依赖了log4j和common-logging两个jar包。
我想把这两个所依赖的jar和Main.java编译后的class文件合并成一个jar后, 这样在实际应用中, 对方用时,就不用再考虑依赖jar包的问题了。
但运行时有问题, 报下面的异常:
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
[java] at com.sinoi.dataIO.Main.<clinit>(Unknown Source)
[java] Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[java] ... 1 more
[java] Could not find the main class: com.sinoi.dataIO.Main. Program will exit.
[java] Java Result: 1
ant脚本中, 打jar包部分是这样的:
<target name="jar" depends="compile"> <copy todir="${build.dir}"> <fileset dir="${lib.dir}"/> </copy> <jar destfile="${dist.dir}/${jar.name}" basedir="${build.dir}" > <manifest> <attribute name="Main-Class" value="com.sinoi.dataIO.Main"/> </manifest> </jar> </target>
也就是通过copy把两个依赖的jar放到build文件夹下面,然后再通过jar命令把build文件夹下的所有内容都打个包。
这个再怎么改下? 相信万能的ant还是可以做到这一点的。
实验例子见附件 。
- antMergeJars.zip (375.9 KB)
- 下载次数: 153
评论
<jar destfile="${dist.dir}/${jar.name}" basedir="${build.dir}" > <manifest> <attribute name="Main-Class" value="com.sinoi.dataIO.Main"/> </manifest> </jar>
改为:
<jar destfile="${dist.dir}/${jar.name}" basedir="${build.dir}" > <manifest> <attribute name="Main-Class" value="com.sinoi.dataIO.Main"/> </manifest> <zipfileset excludes="META-INF/*.SF" src="./lib/commons-logging-1.1.1.jar" /> <zipfileset excludes="META-INF/*.SF" src="./lib/log4j-1.2.13.jar" /> </jar>
Eclipse在导出可运行jar时有一个选项可以生成相应的ant脚本, 上面的解决方式就是从此ant脚本里拷出的。
发表评论
-
List内容生成Excel文件的一个工具
2010-10-27 15:38 1348什么也不用说,直接上传代码,里面有个测试类,一看便 ... -
JSP中分情况下地set一个var
2010-10-22 15:49 1129做项目时,有些匆忙,没来得急细想,现在有些闲了,静下心来 ... -
同一个表记录某列值拷到对应列中
2010-09-29 17:52 1139我想在mysql数据库同一表中,把一条记录的值赋给另 ... -
Google docs不能上的解决办法
2010-09-28 11:28 1471自己大概有N个G的东西在Google docs上, 这些天它经 ... -
Maven管理项目切换到Eclipse环境bat脚本
2010-09-28 09:14 3296手头一个Maven管理的项目,默认情况下是用Idea开发 ... -
用jQuery来查找Option的text
2010-06-24 17:41 5139问题起引:页面中显示Table,它里面显示的是各分公司的统计数 ... -
style="display:block;"在FireFox中跳格问题
2010-06-04 11:17 2441用block时,跳格如下所示: ... -
好久没写JSP的后果
2009-04-24 08:31 1436有些日子没写JSP了, 今天干一个活时用JSP竟然出了不少错误 ... -
Java反编译: 最终用了JD.
2009-04-18 09:58 1741前些天帮一个朋友反编译一class文件, 第一时 ... -
jFreeChart收藏,大家就不必看了
2009-04-06 17:21 1257几点说明: 1, 例子来源: http://www.ite ... -
乱码(六): Linux下文件(夹)名乱码的解决
2009-03-31 08:27 4748问题见乱码(五): Linux下如何把乱码的文 ... -
乱码(五): Linux下如何把乱码的文件名转为正常?
2009-03-30 08:47 2644前面文件上传时的乱码问题告一段落了, 不过一个 ... -
乱码(四): 撬动地球的支点
2009-03-29 07:59 874写下这个标题 ... -
乱码(三): 问题的出发点
2009-03-28 09:38 1303在乱码(一): 北京西直门迷路与乱码困惑 里, 笔 ... -
乱码(二): Linux下/etc/sysconfig/i18n究竟是干什么用的?
2009-03-27 06:37 4281这些天解决乱码问题过程中,跟Linux下/etc/sysc ... -
乱码(一): 北京西直门迷路与乱码困惑
2009-03-25 08:18 1331在北京,如 ... -
小配下分布式事务管理
2009-03-03 17:18 1238由于项目要求, 需要配置下分布式事务管理.问题是这 ... -
项目所得:一个非典型性改动带来的思考(三) 之项目设计
2009-02-27 11:06 1089------------------------------- ... -
项目所得:一个非典型性改动带来的思考(二) 之对第一个问题的思考
2009-02-26 14:16 1166上篇 里以一个简化的例子把问题描述了下, 这里将当时引发的思考 ... -
项目所得:一个非典型性改动带来的思考(一) 之问题引入
2009-02-25 14:25 1246引言: 这些天项目中做了一个改动, 为了后续行文方便, ...
相关推荐
ant脚本编译出jar
ant 编译jar包
tomcat6.x源码编译时需要依赖的所有JAR包:包括ant.jar、jaxrpc.jar、org.eclipse.jdt.core_3.8.3.v20130121-145325.jar、wsdl4j-1.5.1.jar。编译tomcat源码时把这些JAR包引入就可以了,亲测不报错,完全可用。 ...
ant发送邮件依赖jar包.rar
NULL 博文链接:https://hoochiang.iteye.com/blog/2157308
将工程中的jsp编译成servlet后打成一个jar包,并且自动生成web.xml中的servlet配置。
利用ant.jar解压缩zip包的工具类,内含ant.jar包,可以解决文件为中文的问题,大家随便看看
ant 解决 打jar包后class 的 Aspect问题
ant.jar ant jar包,很是不错的jar。需要的时候就要找。build.xml需要用。
运行ANT所需要的JAR包,基中sqljdbc.jar用于mssql数据库,如果你用的是Mysql,换成mysql的jar包即可。
用ANT将java程序打成jar包,只是简单实现单个程序的打包,整个java项目个人感觉还是eclipse好。
Ant构建J2EE应用,通常从版本控制器SVN或其他下载源码,以下为Ant SVN依赖JAR包
ant 所需jar包ant 所需jar包ant 所需jar包ant 所需jar包ant 所需jar包ant 所需jar包ant 所需jar包ant 所需jar包ant 所需jar包
ant.jar包可以下载
使用ant.jar工具通过java程序来解压tar包文件,支持中文文件名。
编译tomcat源码所需jar包:ant-1.7.1.jar、jaxrpc.jar、org.eclipse.jdt.core_3.6.0.v_A58.jar、wsdl4j-1.5.1.jar
[CLASS] org.apache.tools.ant.Main org.apache.tools.ant.Task org.apache.tools.bzip2.CRC org.apache.tools.ant.Target org.apache.tools.ant.Project org.apache.tools.zip.ZipFile org.apache.tools.zip...
ant.jar。里面包含apache的zip文件处理包。
ant脚本,打可运行的jar包,并导出第三方jar包到指定目录