簡體   English   中英

無法運行jar文件:找不到或加載主類Hello

[英]Cannot run jar file: Could not find or load main class Hello

我在IDEA Build> Build Artifacts中創建jar文件。 但是不能使用java -jar jarname.jar來運行它- Error: Could not find or load main class Hello MANIFEST.MF文件在/ resources / META-INF /文件夾中。 這是啟動器類:

public class Hello {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }

}

MANIFEST.MF:

Manifest-Version: 1.0
Main-Class: Hello

在此處輸入圖片說明


編輯:添加了工件設置屏幕截圖

在此處輸入圖片說明

在此處輸入圖片說明

您轉到項目結構,然后從左側選項卡中選擇“工件”。 添加一個新的工件,盡管您選擇了清單和Main類,但是如您在此處看到的那樣,在左側顯示了它將添加到jar中的內容。 在右側,它顯示了可用的(未添加)。 但是,由於我還沒有在jar中添加任何內容,因此只會添加Manifest而不添加任何實際代碼。

您需要指定要將編譯輸出添加到jar中,否則它將僅包含清單而不包含您的實際類。 您只需雙擊即可。 如果您在編譯輸出上方指定目錄,那么我相信也會添加src。

更新:添加外部依賴項

在此處輸入圖片說明

在此處輸入圖片說明

我相信您的清單文件必須說出主要類,如果您希望它自動執行。

主班:你好

否則,在嘗試執行jar時需要在命令行上指定它。 至於如何使用IntelliJ做到這一點,我在那里無能為力。

java -cp hello.jar您好

請注意,使用main方法對類的引用是完全限定的位置(package.classname),但是由於您的類具有默認包,因此不必要。

如果您的jar文件正確構建。 試試

暫無
暫無

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

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