2013-08-26 91 views
1

我想在html文檔上使用我的java applet,但它只是一遍又一遍地給出相同的錯誤。 我正在使用eclipse。當我調試/運行這一切工作正常的小程序,但是當我將它導出到一個jar文件,並嘗試以一個HTML文檔中使用它,它給出了這樣的錯誤:Java lwjgl applet noclassdeffound

java.lang.NoClassDefFoundError: org/newdawn/slick/opengl/Texture 

這裏是我的Java代碼: http://pastebin.com/B3R6nj1a

這是.jar文件包含:

-lib 
    -jars 
    lwjgl.jar 
    lwjgl_util.jar 
    slick-util.jar 
    -natives-win 
    *all the dlls* 

-META-INF 
    -*files* 

-res 
    grass.png 
    wood.png 

.classpath 
.project 
Camera.class 
Main$1.class 
Main$2.class 
Main.class 

我有一切權利,從我的項目的構建路徑。 (因此增加了三個外部JAR和添加本機勝利lwjgl.jar。)

這是我的html代碼:

<html> 
<head> 
</head> 
<body> 
    <applet archive='3dtest.jar' Code='Main' width = "640" height = "480"></applet> 
</body> 
</html> 

我也試圖改變「代碼=‘主’」到「Code ='Main.class'」也不起作用。

有沒有人知道我爲什麼會出錯? 在此先感謝。

-Tim

編輯: .classpath文件: http://pastebin.com/i7y4XYaf

回答

1

This is what the .jar file contains:

-lib 
    -jars 
    lwjgl.jar 
    ... 

那些罐子不應該在那裏。他們應該在網站上引用這樣的分離罐:

<html> 
<head> 
</head> 
<body> 
<applet 
    archive='3dtest.jar,lwjgl.jar,lwjgl_util.jar,slick-util.jar,all_dlls.jar..' 
    code='Main' 
    width="640" 
    height="480"> 
</applet> 
</body> 
</html> 

即假定的HTML是在同一個目錄中的所有JAR文件。

+0

感謝您的回答,但這導致我看到一個空白的小程序似乎被凍結 –

+0

1)是否所有的Jar文件都進行了數字簽名? 2)確保將[Java控制檯](http://www.java.com/en/download/help/javaconsole.xml)配置爲顯示applet和JWS應用程序。如果在默認級別沒有輸出,請將其提升並重試。 3)在問題的編輯中顯示新的來源和結構。 –

+0

感謝大家的信息!我對它進行了數字簽名並修復了一些外部瓶子在錯誤的地方。再次感謝! –

0

您需要發佈相關的代碼,而不是一切,希望有人會通過這一切挑。

java.lang.NoClassDefFoundError: org/newdawn/slick/opengl/Texture表示該類不在您的類路徑中。

+0

是的但它確實存在於.classpath文件中我將用.classpath文件編輯OP。 –

+0

那麼你的程序沒有正確打包。 – redFIVE

+0

我應該如何正確打包? –