2013-02-02 154 views
0

可能重複:
Error: Could not find or load main class找不到或無法加載主類錯誤

香港專業教育學院現在已經工作了幾個小時了一些遊戲代碼和它之前的工作完全正常,但後來我日食決定腐蝕一些東西,我完全恢復了它,它在eclipse中完美的工作,但是當我嘗試通過CMD運行它或只是作爲一個可執行JAR我得到無法找到或加載主類錯誤。這是我目前的主要方法。

public Game() { 
    setMinimumSize(new Dimension(WIDTH * 2, HEIGHT * 2)); 
    setMaximumSize(new Dimension(WIDTH * 2, HEIGHT * 2)); 
    setPreferredSize(new Dimension(WIDTH * 2, HEIGHT * 2)); 
    frame = new JFrame(NAME); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setLayout(new BorderLayout()); 
    frame.add(this, BorderLayout.CENTER); 
    frame.pack(); 
    frame.setResizable(false); 
    frame.setLocationRelativeTo(null); 
    frame.setVisible(true); 
    frame.setIconImage(Icon); 
} 

private boolean running = false; 
public InputHandler Inputs = new InputHandler(this); 

public static void main(String[] args) { 
    System.out.println("Starting"); 
    Game g = new Game(); 
    g.Start(); 
} 

public void Start() { 
    running = true; 
    new Thread(this).start(); 
} 

private static final int MapHeight = 40; 

public void Stop() { 
    running = false; 

} 

進出口使用Windows 7和Java 7中 希望我能得到一些幫助。

+0

您是否在清單文件中設置了主類? –

回答

0

如果你想要一個可執行的JAR,你需要有一個定義的主類運行MANIFEST.MF文件...

Main-Class: net.test.Class 

如果你想在命令行中運行,你必須告訴它要運行什麼類,並且可能是類路徑。這可能會變成一個.bat

+0

Manifest-Version:1.0 Class-Path:。 Main-Class:遊戲這就是我的清單 –

+0

@LucassSpencer你的'Game'類是否可能在某個包中?如果是這樣,那麼'Main-Class:'應該包含'your.package.name.Game'。 – Pshemo

+0

我剛剛更新了它,是的,它是在一個包中,它沒有,當我把這個消息放在這裏就是它現在說的。 –

0

在Eclipse中點擊項目 - >右鍵 - >導出。 選擇Runnable Jar文件。

選擇在Eclipse中工作的Launch Configuration。

Eclispe會將您的MANIFEST.MF文件生成到您的jar文件中。

然後oyu可以在你的cmd上運行:java -jar niceJarfile.jar,一切都會正常工作。

如果沒有打開jar文件,看看是否在那裏提到了正確的主類。

+0

Manifest-Version:1.0類路徑:。 Main-Class:遊戲這就是我的清單是的,它是 –

+0

你沒有包?它總是「保存」將你的類放入一個包中。 http://en.wikipedia.org/wiki/Java_package試試吧。 – Zarathustra

+0

我現在要做,無濟於事... –

相關問題