1. 程式人生 > >cmd 運行jar文件

cmd 運行jar文件

-c 1.0 ffffff RM 文件覆蓋 三方 Go java man

將java工程打成jar包,但第三方jar包並沒有包含在包中,當在命令行中運行jar包時,出現類找不到的異常,

在網上看到解決辦法是將第三方jar包放到JDK的擴展類文件夾中(%JAVA_HOME%/jre/lib/ext),

再運行,還是出現同樣的錯誤,我的java工程要調用webservice,webservice工程中也用到了相同的jar包,

在啟動服務器的時候,不能正確部署webservice,應該是webservice工程中的jar包和JDK中的jar包有了沖突。

通過不斷地試驗,終於成功了!

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

cmd 運行jar文件