當前位置:編程學習大全網 - 源碼下載 - eclipse中怎樣將項目打包成jar

eclipse中怎樣將項目打包成jar

由於他的源代碼中使用了不少第三方的lib,因此有必要將lib也壹並打包進去。他用Eclipse的Export功能直接打包到.jar文件,第三方lib是打包進來了,可是使用的時候還是提示找不到相應的包。

其實,為了自己的便利將別人發布的lib打包進自己project的包中不是壹種合適的做法。這樣做之前務必要檢查壹下對方的license,但不管是不是將對方的lib包括進來,既然自己的代碼用到了,為了讓它們正常工作,指明哪些包在那是必不可少的。師弟其實需要壹個MANIFEST.MF文件,利用Eclipse生成jar文件的時候,請不要讓其自動生成MANIFEST.MF,而是應當由妳自己寫好壹個MANIFEST.MF,然後告訴 Eclipse:請使用這個文件。想了解細節,請閱讀SUN的這篇規範(VIA),或者是IBM網站上的這篇JAR文件揭秘,偶這裏就不多寫了。

另外,Eclipse其實還有壹個輸出到可執行jar的功能,該功能能夠幫妳編寫合適的MANIFEST.MF文件,幫妳將妳引用的第三方lib壹並打包(註意license哦)。

第壹:普通類導出jar包,我說的普通類就是指此類包含main方法,並且沒有用到別的jar包。

1.在eclipse中選擇妳要導出的類或者package,右擊,選擇Export子選項;

2.在彈出的對話框中,選擇java文件---選擇JAR file,單擊next;

3.在JAR file後面的文本框中選擇妳要生成的jar包的位置以及名字,註意在Export generated class files and resources和Export java source files and resources前面打上勾,單擊next;

4.單擊兩次next按鈕,到達JAR Manifest Specification。註意在最底下的Main class後面的文本框中選擇妳的jar包的入口類。單擊Finish,完成。

妳可以在dos環境下,進入妳的jar所在的目錄,運行 java -jar 名字.jar,檢測運行是否正確。

第二、妳所要導出的類裏邊用到了別的jar包。比如說妳寫的類連接了數據庫,用到數據庫驅動包oracl.jar.。

1.先把妳要導出的類按照上面的步驟導出形成jar包,比如叫test.jar

2.新建壹個文件夾main,比如在D盤根目錄下;

3.把test.jar和oracl.jar拷貝到main文件下,右擊test.jar,解壓到當前文件夾。把META-INF\MANIFEST.MF剪切到另外壹個地方 (比如是桌面!) ;

4.右擊oracl.jar,解壓到當前文件夾。

5.在dos環境下,進入到D盤的main文件夾下,執行 jar cvfm new.jar meta-inf/manifest.mf .,不要忘了最後面的點。

6.用壓縮工具打開妳新生成的new.jar,用妳放在桌面的META-INF\MANIFEST.MF覆蓋new.jar原有。

妳可以在dos環境下,進入妳的jar所在的目錄,運行 java -jar 名字.jar,檢測運行是否正確。

關於 MANIFEST.MF 寫法.

例如我們打包的jar為 Test.jar

Manifest-Version: 1.0

Main-Class: windows.VideoWindow

Class-Path: lib\org.eclipse.swt_3.3.0.v3346.jar lib\org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar

上面為打包為jar中的包說明文件. 下面這個報錯壹直出現.

could not find main class. Program will exit

這個錯誤提示其實不是沒有發現main class. 而是jar如果有錯誤執行不了,就會出現這個錯誤. 打包完成後, 要先運行 cmd -> java -jar your.jar 確認沒有問題即可執行jar. 使用-jar參數後, 系統的Classpath 變量不再起作用. 虛擬機將去MANIFEST.MF中的Class-Path 下找相關的包.

然後才能成功的從: windows.VideoWindow 的main方法進入. 否則沒有相關連接包,則會提示找不到main class. 而大家可能還迷糊的找不到北. 明明有main class嗎.

如果這個寫的不對. 則就會壹直報錯.

看看上面這個Class-Path: 後面的寫法. 空格分開. 絕對不能有分號.切記.

最後必須有換行. 這個也是要註意的. 否則依然提示沒有mainclass.

不要因為這個小事情耽誤了時間. 其中 lib/ 表示這個jar必須在打包Test.jar所在目錄的壹個lib子目錄中.

運行jar需要命令: java -jar Test.jar

雙擊也可以, 則使用 javaw 打開.

關於java -classpath a.jar;b.jar; class test.Test 執行時. a.jar;b.jar; 後面都必須有分號. 否則報錯. 不要指望不寫classpath讓系統自己找. 這不是在eclipse裏面.必須寫上妳要使用的類. 否則總會提示您編譯出錯.

  • 上一篇:清潔工用兒子手寫的體彩號碼中了864萬大獎是怎麽回事?
  • 下一篇:php或者c語言哪個入門容易?
  • copyright 2024編程學習大全網