2013-10-08 32 views
15

我試圖從控制檯運行jar文件:未能從命令行中運行jar文件:「無主清單屬性」

java -jar ScrumTimeCaptureMaintenence.jar 

而且正在錯誤:

Can't execute jar- file: 「no main manifest attribute」

正如你可以看到我做實際上有一個主文件,它運行良好,從日食:

main method is in class

我需要做什麼才能從命令行成功運行此文件?

+3

您需要一個帶'Main'條目的'manifest'文件。 –

+0

有沒有辦法在eclipse中生成一個jar導出? –

+3

如果您導出爲jar自動執行文件,它將爲您創建清單 – RamonBoza

回答

29

嘗試運行

java -cp ScrumTimeCaptureMaintenence.jar Main 
+8

這不起作用 – MarcoZen

+3

如果你的類名是「Main」,包的名稱是「com.mycompay」,那麼命令如下: 'java -cp /the_jar_file_path/the_jar_file.jar com.mycompay.Main' – Henry

+0

當我我正在運行它,它說'線程中的異常「AWT-EventQueue-0」java.lang.NoClassDefFoundError:Path'有沒有什麼原因? –

4

首先從eclipse運行你的應用程序來創建啓動配置。 然後,只需按照步驟:

  1. From the menu bar's File menu, select Export.
  2. Expand the Java node and select Runnable JAR file. Click Next.
  3. In the Runnable JAR File Specification page, select a 'Java Application' launch configuration to use to create a runnable JAR.
  4. In the Export destination field, either type or click Browse to select a location for the JAR file.
  5. Select an appropriate library handling strategy.
  6. Optionally, you can also create an ANT script to quickly regenerate a previously created runnable JAR file.

來源:Creating a New Runnable JAR File在Eclipse.org

17

在Eclipse:right-click您的項目 - >Export - >JAR file

在最後一頁的選項(當有將沒有Next按鈕激活)您將看到Main class:的設置。你需要在這裏設置main方法,默認情況下應該執行該方法(比如當雙擊JAR文件時)。

+1

一直在尋找這個。謝謝! – Justin

7

您可以選擇「運行的JAR文件」點擊「導出」之後。

您可以在 「啓動配置」

enter image description here enter image description here

3

導出你的Java項目指定您的主要驅動因素爲運行的JAR文件,而不是瓶子。

我出口我的項目作爲並且即使清單存在它給我的錯誤罐中沒有主清單屬性,即使清單文件存在於罐。但是,現在該清單文件中只有一項,並沒有指定主類或函數來執行或依賴JAR的

導出爲運行的JAR文件它按預期工作後。

+1

我有同樣的問題 - 添加Manifest沒有幫助。可運行的罐子。 +1 – Gangnus

2

您需要在Manisfest.mf文件「主類」屬性中的Jar

例如:主類:MyClassName

第二件事,在你的jar添加清單文件,您可以手動在工作區文件夾中創建文件,然後在Eclipse Project Explorer中進行刷新。

導出時,Eclipse將創建一個包含您的清單的Jar。

乾杯!

6

-jar選項僅適用於JAR文件是可執行JAR文件的情況,這意味着它必須具有清單文件,其中包含Main-Class屬性。

如果它不是一個可執行的JAR,那麼你需要的東西,如運行程序:

java -cp app.jar com.somepackage.SomeClass 

其中com.somepackage.SomeClass是包含main方法來運行程序的類。

相關問題