Eclipse 打可执行JAR包

 

一. 不依赖第三方类库的可执行JAR

  Eclipse 工程上右键->export 打开窗口中,选择java/jar file ->next->

    1.选择打到jar包里的文件和src下的哪些类

    2.在JAR file:录入生所的jar包名。(默认路径是当前工作台目录,与可以选择指定的目录)

  ->next->next : Main class 框中选择主执行类->finish 就可以生成jar包的。

 

二   依赖第三方类库的可执行JAR

    如果代码的执行依赖第三方类库,就需要第三方类库的jar包在classpath中,如果通过java命令指定classpath,如: java -cp lib/* -jar test.jar (test.jar中的代码依赖lib目录下的jar包),执行时会报错:java.lang.NoClassDefFoundError,原因jar执行会忽略命令行参数cp,而是到jar包中的 META-INF/MANIFEST.MF文件中查找classpath定义。

   eclipse默认生成的MANIFEST.MF文件中不带有classpath项。

   需要自己写一个MANIFEST.MF,在手成JAR包时指定该文件 或者用winrar打开生成的jar包,修改META-INF/MANIFEST.MF。

 

  MANIFEST.MF 文件的简单格式:

    Manifest-Version:1.0 版本号

    Class-Path: jar包所在路径 (不能使用通配符)

    Main-Class: 主执行类全名

  

   MANIFEST.MF文件示例(带有尖括号那两行不算): 

   

<---
Manifest-Version: 1.0
Class-Path: lib/log4j-1.2.15.jar
  lib/commons-beanutils-1.8.0.jar
  lib/xml-apis.jar
  lib/xml-resolver-1.2.jar
  lib/xmlbeans-2.4.0.jar
  lib/xmlbeans-qname.jar
Main-Class: yanlei.base.tools.net.udp.example.ChatServer

--->

  

注意:少了空格或换行以及Class-path与Main-Class位置的调换都可能引起出错。

 

在Eclipse中生成jar包时,指定MANIFEST.MF:



 

   

生成的jar里META-INFO/MANIFEST.MF文件:

Manifest-Version: 1.0
Class-Path: lib/log4j-1.2.15.jar lib/commons-beanutils-1.8.0.jar lib/x
 ml-apis-1.0.b2.jar lib/xml-apis.jar lib/xml-resolver-1.2.jar lib/xmlb
 eans-2.4.0.jar lib/xmlbeans-qname.jar
Main-Class: yanlei.base.tools.net.udp.example.ChatServer

 可以看出Class-path 中是以空格来做为分隔符的。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值