java項目生成jar,並在cmd中執行jar


自己寫的jar並使用:
============Java項目
============Jar包的打包
在Eclipse中直接打包,具體步驟:
點擊右鍵》export》jar file》取消不需要的文件和選擇路徑 Next》Next……》finish

============Jar的MANIFEST.MF配置文件的配置
1、Jdk1.6的環境
1)配置文件中的配置:【沒有Main入口程序配置,執行命令時候直接調用Main文件】
Manifest-Version: 1.0
Class-path: lib/mail.jar 【后面有個空格並且回車鍵】

2)cmd中的執行命令:
java -cp fileMonitor.jar fileMonitor.Main start

2.jdk1.7的環境
1)配置文件中的配置
Manifest-Version: 1.0
Main-Class: fileMonitor.Main 【后面有個空格】
Class-path: lib/mail.jar 【后面有個空格並且回車鍵】

2)cmd中的執行命令【直接運行jar包】
java -jar fileMonitor.jar

 

注意點:

1、Class-Path: 和Main-Class: 后邊都有一個空格,必須加上,否則會打包失敗,錯誤提示為:Invalid header field;多個jar包空格分開

2、假設我們的項目打包后為HelloWorldServer.jar,那么按照上面的定義,應該在 HelloWorldServer.jar的同層目錄下建立一個lib文件夾(即lib文件和打包的jar文件
在同一個目錄下),並將相關的jar包放在里面。否則將會出現“Exception in thread "main" java.lang.NoClassDefFoundError”的錯誤;

3、Main-Class后面是類的全地址,比如你的主文件是HelloWorldServer.java,文件里打包為package com.bonree.base; 那么這里就寫com.bonree.base.HelloWorldServer,
不要加.java后綴,主文件地址寫錯將會出現“找不到或無法加載主類”的錯誤;

4、寫完Main-Class后一定要回車(即最后一行是空白行),讓光標到下一行,這樣你生成的jar包才能找到你的主class去運行,

否則將會出現“jar中沒有主清單屬性”的錯誤。

如果在jar中有一些System.out.prinln語句(如上執行結果),運行后不想在控制台輸出而是保存在文件中方便以后查看,可以用一下命令:
java -jar HelloWorldServer.jar > log.txt (這時命令行窗口不會有任何輸出)
輸出信息會被打印到log.txt中,當然log.txt自動生成,並位於和HelloWorldServer.jar一個目錄中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM