JAR包引用其它JAR包的classpath问题
来源:互联网 发布:淘宝看不到对方评论 编辑:程序博客网 时间:2024/04/27 19:24
运行jar包的命令:
java -jar hello.jar
不过如果工程引用到了其它jar,虽然用ide工具打包时可以看到引用的JAR已经加入到了自己的JAR中,但运行时却会提示ClassNotFoundException。
此时需要修改ide工具自动生成的hello.jar中的MANIFEST.MF,通过MANIFEST.MF中的Class-Path 来指定运行时需要用到的其他jar,其他jar可以是当前路径也可以是当前路径下的子目录。但不能包含在当前jar里面。
多个jar文件之间以空格隔开。
以下面的MANIFEST.MF文件为例
Manifest-Version: 1.0
Main-Class: com.ibm.portalnews.entrance.Main
Class-Path: lib\commons-collections-3.2.jar lib\commons-configuration-1.5.jar lib\commons-lang-2.3.jar lib\commons-logging.jar lib\dom4j-1.6.1.jar lib\jaxen-1.1-beta-7.jar lib\jdom.jar lib\log4j-1.2.14.jar
其中Manifest-Version表示版本号,一般由IDE工具(如eclipse)自动生成
Main-Class 是jar文件的主类,程序的入口
Class-Path 指定需要的jar,多个jar必须要在一行上,多个jar之间以空格隔开,如果引用的jar在当前目录的子目录下,windows下使用\来分割,linux下用/分割
Class-Path的冒号后面必须要空一个空格,否则会出错
文件的最后一行必须是一个回车换行符,否则也会出错
编辑好的MANIFEST.MF可以保存下来,在使用eclipse时选择Use existing manifest from workspace选项,手工指定MANIFEST.MF文件,取代eclipse自动生成。
java -jar hello.jar
不过如果工程引用到了其它jar,虽然用ide工具打包时可以看到引用的JAR已经加入到了自己的JAR中,但运行时却会提示ClassNotFoundException。
此时需要修改ide工具自动生成的hello.jar中的MANIFEST.MF,通过MANIFEST.MF中的Class-Path 来指定运行时需要用到的其他jar,其他jar可以是当前路径也可以是当前路径下的子目录。但不能包含在当前jar里面。
多个jar文件之间以空格隔开。
以下面的MANIFEST.MF文件为例
Manifest-Version: 1.0
Main-Class: com.ibm.portalnews.entrance.Main
Class-Path: lib\commons-collections-3.2.jar lib\commons-configuration-1.5.jar lib\commons-lang-2.3.jar lib\commons-logging.jar lib\dom4j-1.6.1.jar lib\jaxen-1.1-beta-7.jar lib\jdom.jar lib\log4j-1.2.14.jar
其中Manifest-Version表示版本号,一般由IDE工具(如eclipse)自动生成
Main-Class 是jar文件的主类,程序的入口
Class-Path 指定需要的jar,多个jar必须要在一行上,多个jar之间以空格隔开,如果引用的jar在当前目录的子目录下,windows下使用\来分割,linux下用/分割
Class-Path的冒号后面必须要空一个空格,否则会出错
文件的最后一行必须是一个回车换行符,否则也会出错
编辑好的MANIFEST.MF可以保存下来,在使用eclipse时选择Use existing manifest from workspace选项,手工指定MANIFEST.MF文件,取代eclipse自动生成。
0 0
- JAR包引用其它JAR包的classpath问题
- hadoop jar运行hbase相关jar包的classpath问题
- Android如何正确引用其它jar包
- ObjectMapper引用jar包问题
- jar包、可执行jar包、classpath
- 可执行jar包打包时Classpath的几点问题
- hadoop 增加classpath的jar包
- jar包的问题
- Android的引用jar包
- Android的引用jar包
- Android的引用jar包
- Android的引用jar包
- 用Ant打Jar包--在Manifest中引用Classpath
- Eclipse打JAR包引用的第三方JAR包找不到的问题
- 解决java项目打jar包,项目中引用有其他jar包的问题
- 引用jar包注意事项
- Java 引用jar包
- jmeter引用jar包
- kaldi学习笔记:data_prep.sh详细分析
- Linux下tcp 和 udp 套接字收发缓冲区的大小决定规则
- Linux电源管理(7)_Wakeup events framework
- JAVA学习之《JAVA核心技术》 学习笔记
- 线程安全
- JAR包引用其它JAR包的classpath问题
- jsonp 跨域问题
- HDOJ2222Keywords Search【AC自动机模板题】
- UDP的键盘录入
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core
- uva 10160Servicing Stations
- Android SVG动画PathView源码解析与使用教程(API 14)
- hdu 1711(kmp算法)
- 4.8 自定义下拉菜单模式——Spinner与setDropDownViewResource