2013-08-29 32 views
0

我製作了一個運行良好的Java應用程序inside eclipse 問題是,當我將它導出爲jar文件,然後嘗試運行該jar文件通過Windows CMD(當前目錄是一樣的,我出口的地方)與java "2Dwars 2.0.jar"錯誤:只在外部運行時才能找到或加載主類

它說Error: Could not find or load main class 2Dwars 2.0.jar

我搜索谷歌,並廣泛計算器,很多人有類似的問題,但沒有類似的解決方案。

我的主類是如下:

public class MainClass extends JFrame implements Controll.keyPressEvent 
{ 

    static Render render; 
    public init in; 

    public MainClass() 
    { 
     new Options(); 

     setUndecorated(true); 
     Options.setBoolean("Draw chunks", false); 
     System.out.println("Test"); 

     add(new Render(new Controll())); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(895, 675); 

     setLocationRelativeTo(null); 
     setTitle("2D wars"); 
     setResizable(false); 
     setVisible(true); 

     System.out.println("Adding render"); 


     System.out.println("Loaded Options."); 
     System.out.println("added render"); 
     init in=new init(); 

     Controll.addListener(Controll.Key.ESC, this); 

     new Sounds(); 
    } 

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

    } 

    @Override 
    public void sendKeyPressEvent(KeyEvent e) 
    { 
     if(e.getKeyCode()==Controll.Key.ESC.getKeyCode()) 
     { 
      System.exit(1); 
     } 
    } 

} 

系統規格:

Windows vista 32 bit. 
Jre 1.7 32 bit 
JDk 5,6,7. 

編輯問題可以通過導出爲一個可運行的,添加的罐子到命令arguements得到解決,由於某些原因,該jar必須作爲Runnable Jar導出才能找到主類。

回答

1

要將其作爲jar文件運行,需要使用-jar選項。喜歡的東西:

java -jar "2Dwars 2.0.jar" 

(我建議使用不具有爲簡單起見空格的文件名也。)

+0

泰,這個工作,但是我用的是CMD控制檯,因爲它出口作爲runnable沒有工作,爲什麼呢? – Caelum

+0

來詳細說明,當我將它作爲可運行的JAR導出時,它不會創建新的進程。 – Caelum

+0

@ user2104648:我不明白你的意思。導出只會創建一個jar文件,而運行該jar文件肯定會創建一個新的進程。它可能不工作,但這是另一回事。 –

相關問題