簡體   English   中英

找不到主班

[英]Could not find main class

好的,所以我一直在嘗試制作可執行的jar文件。 它使用命令“ java -jar bybys.jar”運行,但是當我嘗試使用Enter運行它時,出現了一個錯誤“找不到主類bardejov.Image。程序將退出。”

這是清單:

Manifest-Version: 1.0
Created-By: 1.7.0_02 (Oracle Corporation)
Main-Class: bardejov.Image 

(是的,我換了一行)

編譯jar文件時,我嘗試了與目錄的所有可能組合,但不知道問題出在哪里。 我用過C:\\Java\\2D>jar cfm bybys.jar Manifest.txt bardejov/Image.class bardejov/Board.class bardejov/*jpg

目錄是:

META-INF/
META-INF/MANIFEST.MF
bardejov/Image.class
bardejov/Board.class
bardejov/siknius.jpg

和主類:

package bardejov;

import javax.swing.JFrame;


public class Image extends JFrame {

public Image() {

    add(new Board());

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(477, 530);
    setLocationRelativeTo(null);
    setTitle("Siknius");
    setVisible(true);
    setResizable(false);
}

public static void main(String[] args) {
    new Image();
}
}

怎么修?

UPDATE

我修好了它。 問題是我沒有安裝最新的JRE。

Manifest.txt中的類名fof后面有一個多余的空格字符。 錯誤消息提示:

Could not find the main class bardejov.Image .
                                            ^^

實際上,問題似乎在於該jar不包含目錄bardejov的條目。 它包含目錄中的文件只項。 您可以在列表中看到它; 看看bardejov的條目。 創建jar文件時,必須告訴jar包含目錄,而不僅僅是其中的文件:

jar cfm bybys.jar Manifest.txt bardejov

從Java 6開始,您可以使用jar命令指定入口點。 以下命令應為您的應用程序創建一個可執行的jar文件:

jar cfe bybys.jar bardejov.Image bardejov/Image.class bardejov/Board.class bardejov/*jpg

您無需編寫和添加自定義清單。

資源

更新

以下內容可在我的機器上使用:

example/Hello.java創建一個Java源文件:

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

用命令編譯

javac example/Hello.java

帶命令的罐子

jar cfe example.jar example.Hello example/*.class

用命令執行

java -jar example.jar

輸出是

Hello world!

UPDATE2

現在看起來像是配置問題。 代碼和罐子顯然是正確的。

快速修復/工作方法:代替直接啟動jar,而是編寫一個簡短的批處理或shell腳本文件,該文件只需執行java -jar ...命令即可。

打開cmd提示並輸入

set JAVA_HOME=c:\PATH\TO\JAVA_DIRECTORY
set CLASSPATH=.;%JAVA_HOME%\bin;%JAVA_HOME%\lib

確保也將這些變量包括在PATH環境變量中。

通過轉至控制面板->系統->高級系統設置->高級選項卡->環境變量,可以獲取Win7中的環境變量。

暫無
暫無

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

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