執行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包,只要保證這一行不要太長就好,否則會出現Exception in thread "main" java.io.IOException: line too long
at java.util.jar.Attributes.read(Attributes.java:356)
at java.util.jar.Manifest.read(Manifest.java:167)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at java.util.jar.JarFile.getManifest(JarFile.java:158)
異常,換行時前面加兩個空格,最後還有一個回車)!
5、將修改好的MANIFEST.MF檔案覆蓋掉原來的;
6、在命令列下執行jar包:java -jar a.jar。