2012-10-13 65 views
1

我不擅長編寫批處理文件和/或java。我有一個文件夾中有幾個.class-Files和文件夾,我想把它們全部放到一個可執行文件.jar-File。我知道有一個名爲「jar - Java歸檔工具」的工具,但這對我來說不起作用。我的文件夾結構如下所示:從命令行創建jar文件的工具

      • 文件夾 「測試」
    • 文件(的A.class)
    • 文件夾 「子目錄」
  • 文件(b.class)

我想叫file.jar可執行.jar-File。在此.jar現在應該是文件a.class和文件夾subdirectory與文件b.class其中。

我沒有得到.jar-Tool運行和7zip命令行不支持.jars(我什至不能添加文件)。我想從.bat-File開始運行,所以我只需要打開批處理文件,它會創建.jar並將文件放入其中,然後再次關閉。

我希望你能幫助我,明白我的意思。

+0

看起來像一封信... :) –

+0

當你使用jar時會發生什麼?你爲什麼不能讓它運行?你有清單文件嗎? – mcalex

+0

您是否安裝了JDK以獲取jar命令? –

回答

0

創建一個文本文件(並將其稱爲像manifest.txt一樣有用)。在它裏面,輸入:
Main-Class: a
(應該按慣例稱爲A),並在最後包括一個硬回車。

然後創建的jar: jar cvfm file.jar manifest.txt *.classjar cvfm c:\somedir\file.jar c:\somedir\mainfest.txt *

你可以只把那行稱爲createJar.bat一個批處理文件並運行它,如果你只是想創建文件名爲「file.jar」

心連心

+0

謝謝,我可以設置file.jar應該創建的位置以及類文件的路徑嗎?我可以使用*。*而不是* .class將所有文件和文件夾放入.jar中嗎? – DigitalClark

+0

輸入和輸出位置前面的路徑應該可以工作,並且*。*會將所有內容放在jar中。 – mcalex

+0

嗯...不工作...它說'在java.io.FileInputStream.open(本地方法)[...]在sun.tools.jar.Main.main(Main.java:1177)' – DigitalClark

0

如果在執行jar命令問題,那麼很可能你就需要檢查,如果你的路徑已正確設置。您可以通過命令提示驗證路徑是否包含jdk位置(echo%path%)。如果沒有,你需要更新。您也可以使用Javac -verbose命令驗證jdk是否已安裝。

一旦你的JDK路徑設置,你可以試試下面的命令來創建JAR

罐-CF MYAPP。jar * - >包括所有文件,包括來自子文件夾的文件。

如果你想從批處理運行,你需要提到jar命令之前的路徑。路徑的理想場所是配置爲環境屬性。

+0

Yay,可以工作,但我無法設置.jar文件的路徑。 爲什麼'jar -cf C:\ file \ file.jar *'不起作用?它說它找不到目錄和/或文件,但路徑是正確的,並且文件存在。 – DigitalClark

+1

噢,我不允許在目錄名稱O_o中使用空格嗎?如果我這樣做,它不會找到該文件夾​​,如果我不這樣做。還有一個問題,我可以通過要添加的文件來設置目錄的路徑嗎?當我輸入'jar -cf C:\ file \ file.jar C:\ data \'時,它會創建一個.jar文件,其中包含文件夾'C: - > data - > + files' ... – DigitalClark

+0

不清楚你想要達到什麼樣的目標! '設置路徑到目錄並添加文件'是什麼意思? –