[英]Failing to run jar file from command line: “no main manifest attribute”
我正在嘗試從控制台運行 jar 文件:
java -jar ScrumTimeCaptureMaintenence.jar
並且我收到錯誤:
無法執行 jar- 文件:“沒有主清單屬性”
正如你所看到的,我實際上有一個主文件,它在 eclipse 中運行良好:
我需要做什么才能從命令行成功運行這個文件?
嘗試運行
java -cp ScrumTimeCaptureMaintenence.jar Main
在 Eclipse 中: right-click
您的項目 -> Export
-> JAR file
在帶有選項的最后一頁(當沒有Next
按鈕處於活動狀態時)您將看到Main class:
設置Main class:
。 您需要在此處設置默認執行的main
方法的類(例如雙擊 JAR 文件時)。
-jar
選項僅在 JAR 文件是可執行 JAR 文件時才有效,這意味着它必須有一個包含Main-Class
屬性的清單文件。
如果它不是可執行的 JAR,那么您需要使用以下內容運行該程序:
java -cp app.jar com.somepackage.SomeClass
其中com.somepackage.SomeClass
是包含運行程序的main
方法的類。
單擊“導出”后,您可以選擇“可運行的 JAR 文件”。
您可以在“啟動配置”中指定您的主驅動程序
首先從 Eclipse 運行您的應用程序以創建啟動配置。 然后只需按照以下步驟操作:
- 從菜單欄的文件菜單中,選擇導出。
- 展開Java節點並選擇Runnable JAR file 。 單擊下一步。
- 在Runnable JAR File Specification頁面中,選擇用於創建可運行 JAR 的“Java 應用程序”啟動配置。
- 在導出目標字段中,鍵入或單擊瀏覽以選擇 JAR 文件的位置。
- 選擇合適的庫處理策略。
- 或者,您還可以創建一個 ANT 腳本來快速重新生成以前創建的可運行 JAR 文件。
來源:在 Eclipse.org 創建一個新的可運行 JAR 文件
將您的 Java 項目導出為Runnable Jar 文件而不是 Jar。
我將我的項目導出為Jar ,即使 Manifest 存在,它也給了我jar 中沒有主要清單屬性的錯誤,即使 Manifest 文件存在於 Jar 中。 然而,清單文件中只有一個條目,它沒有指定要執行的 Main 類或函數或任何依賴的 JAR
將其導出為Runnable Jar 文件后,它按預期工作。
您需要在 Jar 的 Manisfest.mf 文件中包含“Main class”屬性
例如:主類:MyClassName
第二件事,要在您的 jar 中添加清單文件,您可以在工作區文件夾中手動創建文件,並在 Eclipse 項目資源管理器中刷新。
導出時,Eclipse 將創建一個包含您的清單的 Jar。
干杯!!
如果你使用 Spring boot,你應該在你的pom.xml
添加這個插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.