簡體   English   中英

如何運行使用intellij 12創建的jar文件

[英]how to run a jar file created using intellij 12

我在MAC OS X 10.8.3上使用Intellij IDEA 12.0.4來創建一個jar文件。

我轉到文件 - >項目結構 - >工件 - > + - >罐子 - >從具有依賴關系的模塊 - >瀏覽后選擇的主類 - >選擇提取到目標jar - > META-INF的目錄自動填充 - > OK - > Apply - > OK - > Build - > Build Artifacts - > Build

現在,如果我嘗試運行jar使用:

java -jar path_to_jar/jar_file

我收到這個錯誤

在path_to_jar / jar_file中沒有主要的清單屬性
$ java -version
java版“1.7.0_17”
Java(TM)SE運行時環境(版本1.7.0_17-b02)
Java HotSpot(TM)64位服務器VM(內置23.7-b01,混合模式)

任何指針,我做錯了什么?

要解決這個問題,請做兩件事:

將META-INF移入src / main / resources

然后:file->打開模塊設置

選擇工件,刪除當前工件並創建一個新工件,但這一次,選擇“復制到輸出目錄並通過清單鏈接”,而不是選擇“提取到目標jar”。

對於META-INF的路徑,將資源目錄的路徑放在您復制META-INF的位置之上。

現在建立你的工件

我終端,去生產罐子的dir和運行:

java -jar yourjarfile.jar

玩得開心

在我的例子中,這是因為IntelliJ正在將所有依賴項提取到輸出jar中,最終用我所包含的依賴項之一覆蓋/META-INF/MANIFEST.MF文件。

我不得不打開jar並從真實的MANIFEST.MF復制“Manifest File”屬性中指示的位置,該屬性在“項目結構”下的“工件”頁面中自動設置。

您需要為jar選擇“main”類以使其可執行 (即您應該在包含public static void main(String[] args)的類上指向IDEA

在我的例子中,我選擇文件 - >項目結構 - >工件 - > + - >罐子 - >從帶有依賴關系的模塊 - >瀏覽后選擇的主類 - >復制到輸出目錄並通過清單鏈接(提取到目標罐子而不是為我工作) - >瀏覽/META-INF/MANIFEST.MF->確定 - >應用 - >確定 - >構建 - >構建工件 - >構建后,選擇項目資源文件夾

我的想法版本是IntelliJ IDEA 2018.2(終極版) 我從這里讀到 這個對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM