java項目打包部署


網上打包的教程很多, 但是自己動手總歸出現各種各樣的問題,自己總結下:

由於剛剛接觸JAVA,做了一個簡單的java project 項目, 但是包含第三方的jar包, 結果打包的時候就出現問題了。 

主要原因是一直報“Exception in thread "main" java.lang.NoClassDefFoundError“的錯誤, 我一開始以為打包的jar包中應該包含第三方的JAR包,結果死活報錯,原來並不是這樣,運行jar包時,會根據 MANIFEST.MF中的Class-Path 的路徑去讀取。

好了,說下打包流程

1. 先看下文檔目錄和最后打包的效果

 

可以看到,打包完后,第三方jar並不在程序包內。

 

2. 配置MANIFEST.MF文件,程序打包時會用到。

  2.1 在項目下新健一個文件夾

  2.1 在該文件夾下新健一個MANIFEST.MF文件, 配置對應的屬性

 

 

3. 打包程序, 不包含第三方JAR包

  3.1 點擊 file > export

  3.2 選擇 jar file, 點擊next

  3.3 選擇 項目打包文件,錄入一個生產jar的路徑(只需要項目文件, 不包含第三方jar以及MANIFEST.MF; 同時也不包含.classpath 和.project)

  3.4  點擊選擇已經存在的裝配單

  

  3.5 一直到結束

 

4. 通過java -jar xxx.jar 來運行,  但是這里需要注意要關聯第三方Jar包, 怎么關聯, 會程序會通過 MANIFEST.MF中的Class-Path去尋找。所以最終要運行jar報的結構如下。

 

 

作為剛學JAVA的人會有點小折騰。

 

參考資料
http://www.open-open.com/lib/view/open1397303218919.html

http://www.cnblogs.com/lanxuezaipiao/p/3291641.html

http://bbs.csdn.net/topics/350163956

 


免責聲明!

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



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