首先,我查看了有關該主題的類似問題。我還沒有找到解決方案。
我希望將我一直在做的一個小專案分發給朋友和家人。麻煩的是我不能指望他們都能夠運行 .class 檔案。因此,我正在嘗試生成一個可以轉換為 .exe 檔案的 .jar 檔案。然而,我遇到了一個問題。它抱怨缺少主要清單屬性。經過一番谷歌搜索,我決定嘗試一個小教程。我正在按照教程(甚至下載小 Hello.jar 檔案),但我仍然沒有得到主要的清單屬性。
在運行 Windows 10 時,我使用 PowerShell 運行命令。這是我運行的命令:
PS C:\testJarFraNettet> javac Hello.java
PS C:\testJarFraNettet> jar cmf Hello.mf Hello.jar Hello.class Hello.java
PS C:\testJarFraNettet> java -jar Hello.jar
no main manifest attribute, in Hello.jar
PS C:\testJarFraNettet>
您會注意到我在 .jar 中也包含了 .java 檔案,這只是為了確定。
Hello.mf 包含:
Manifest-Version: 1.0
Main-Class: Hello
我調查了生成的 .jar 檔案。在內部,在命令中指定的檔案中,我找到了預期的 .\META-INF\MANIFEST.MF 檔案,其內容如下:
Manifest-Version: 1.0
Created-By: 17.0.1 (Eclipse Adoptium)
我從未接觸過 Eclipse(我使用 VS Code),但我認為這無關緊要。根據我在網上找到的另一篇文章,我編輯了檔案以包含教程告訴我它應該包含的內容:
Manifest-Version: 1.0
Main-Class: Hello
仍然沒有運氣。我決定不展示我自己的代碼,因為它不必要地使故障排除復雜化,因為我還是會遇到同樣的錯誤。我還有一些障礙,比如如何添加影像檔案。該專案是一個基于圖形用戶界面的游戲。但我想這是以后的問題。
感謝您的時間!
uj5u.com熱心網友回復:
jar cfe Hello.jar Hello Hello.class Hello.java
會為你做的。您需要將-e引數指向主類,以便jar知道如何使其可執行。這比制作自己的清單更容易
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/470517.html
上一篇:我無法在“Empresa”類中將JFrame類的int值與另一個類“Empresa”的int值相加
下一篇:API資料未轉換為java物件
