运行jar包找不到依赖包的解决方法

Java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常,

解决办法1:

将第三方jar包放到JRE的扩展类文件夹中(%JAVA_HOME%/jre/lib/ext),

解决方法2:

修改jar包的MANIFEST.MF文件

详细如下:

通过不断地试验,终于成功了!

1、新建文件夹test位于D盘;

2、将用到的所有第三方jar包放在文件夹lib下,再将lib放在test下;

3、导出的java工程jar包a.jar也放在test下;

4、修改工程jar包meta-inf文件夹下的MANIFEST.MF配置文件

Manifest-Version: 1.0
Main-Class: cn.golaxy.yqpt.client.main.GatherMain
Class-Path: lib/soapmonitor-1.5.jar
lib/spring-aop.jar

写明main函数的包路径(注意:冒号后加一个空格)!

在class-path后写上引用到的所有jar包(注意:要分行写,并不是说一行写一个jar包,只要保证这一行不要太长就好,否则会出现Exceptioninthread"main"java.io.IOException:linetoolong
atjava.util.jar.Attributes.read(Attributes.java:356)
atjava.util.jar.Manifest.read(Manifest.java:167)
atjava.util.jar.Manifest.<init>(Manifest.java:52)
atjava.util.jar.JarFile.getManifest(JarFile.java:158)

异常,换行时前面加两个空格,最后还有一个回车)!

5、将修改好的MANIFEST.MF文件覆盖掉原来的;

6、在命令行下执行jar包:java -jar a.jar。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...