Re: [問題] command Line 打包jar檔與執行

看板java作者 (Mr. Pan)時間10年前 (2014/12/10 18:04), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《JGC18 (JGC)》之銘言: : [編譯TestJar.class指令] : D:\java\workspace\testProject\Lib\show>javac TestJar.java : 產生TestJar.class 所以你的檔案在 D:\java\workspace\testProject\Lib\show\TestJar.class : [Manifest.mf] : 放置路徑="D:\java\workspace\testProject\Lib\show" : Manifest-Version: 1.0 : Sealed: true : Main-Class: Lib.show.TestJar : //<---有個空行 這邊你表示 Main Class 是在 Lib.show.TestJar 那麼你的 jar 檔案用 WinRAR 或者 7-zip 打開 應該要看到一個資料夾名為 Lib , 底下有 show 底下有 TestJar.class 也就是 [ JarFile.jar ] │ └Lib/ │ └show/ │ └TestJar.class : [打包成test.jar指令] : D:\java\..\testProject\Lib\show>jar -cvfm test.jar manifest.mf TestJar.class : 產生test.jar 這樣的話你的 jar 檔案裡面只會直接出現一個 TestJar.class ( 當然我這邊先不列 Manifest ) [ JarFile.jar ] │ └TestJar.class 那麼你在執行 java -jar JarFile.jar 的時候,在 jar 裡面找不到 Lib.show.TestJar 這個 class ---------- 因此我建議你把 manifest.mf 放在 D:\....\testProject\ 底下 然後在 D:\....\testProject\ 下指令: jar -cvfm test.jar manifest.mf Lib/ 記得你要把完整的結構給包進 jar 裡面 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.17.207 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1418205842.A.142.html

12/11 10:22, , 1F
非常感謝darkk6,把Lib一併打包,就可以得到正確結果
12/11 10:22, 1F

12/11 10:23, , 2F
謝謝^^a
12/11 10:23, 2F

12/11 11:21, , 3F
推講解完整
12/11 11:21, 3F
文章代碼(AID): #1KY1gI52 (java)
文章代碼(AID): #1KY1gI52 (java)