Eclipse打jar包

来源:互联网 发布:股票分时线数据接口 编辑:程序博客网 时间:2024/05/30 23:02

点击“File->Export”:

选择“JAR file”,依次按提示操作即可。

如需想让jar可执行,通常要有能执行的main方法。一般在打包时就可设置Main class。mac系统下如图:


配置完成后manifest.mf文件定义如下所示(也可手动配置,效果一样,当然也可不配置):

Manifest-Version: 1.0Main-Class: util.PropertiesUtil
此时可执行下面的命令:

java -jar /Users/cxc/Downloads/test.jar 

当然了,jar包中不只一个类,所以也可以用下面的命令指定类来执行:

java -cp /Users/cxc/Downloads/test.jar study.collection.BitSetTest  

注意:上面的命令执行的必须是有main方法的class,其中cp可换成classpath。

如果执行的类引用了其它jar包,那又该怎么办呢?

只需修改manifest.mf文件即可:

Manifest-Version: 1.0Main-Class: util.PropertiesUtilClass-Path: lib/dom4j-1.6.1.jar lib/jaxen-1.1-beta-7.jar

注意:

<1> manifest.mf文件最后一行必须是一个空行。

<2> lib/dom4j-1.6.1.jar和lib/jaxen-1.1-beta-7.jar之间用一个空格隔开。

<3>每个冒号后有一个空格。

可在导出界面选择设置好的manifest.mf文件:


值得一提的是,如果仅仅在java文件中import相应jar而不实际使用,编译时可能会被优化掉,此时可能不需要依赖的jar也能运行。

还有一个问题,比如打包前用的是utf8编码,执行jar包时用的却是系统编码,系统编码可能是GBK等其它编码,这样就会存在问题。执行jar时可以指定编码:

java -Dfile.encoding=utf-8 -cp /Users/cxc/Downloads/test.jar util.PropertiesUtil


0 0