2012-04-05 95 views
0

我剛剛開始學習Java(大約一週前),並且最近幾天我使用Slick2D構建了一個小遊戲。不管怎樣,每當我從Eclipse導出一個JAR,並與公司的Java blahblahblah.jar「我收到以下錯誤運行:Eclipse JAR導出不起作用

Exception in thread "main" java.lang.NoClassDefFoundError: /Users/andy/Desktop/game/jar 
Caused by: java.lang.ClassNotFoundException: .Users.andy.Desktop.game.jar 

一切都被選中要導出的LWJGL和Slick2D罐子lib文件夾中和我試過FatJar。我在互聯網上看過,似乎找不到任何可行的解決方案。

任何幫助?

+0

您使用的確切命令是什麼? – daveb 2012-04-05 17:49:16

+0

的Java /Users/andy/Desktop/game.jar – andy 2012-04-05 17:49:35

+0

霸菱記住我也試了罐子,我也得到: 無法從 加載主類清單屬性/Users/andy/Desktop/game.jar – andy 2012-04-05 17:53:12

回答

5

Anyway, whenever I export a JAR from eclipse and run it with 'java blahblahblah.jar' I get the [an error]

您需要使用:

java -jar blahblahblah.jar 

編輯: 基於您的原始帖子的評論,似乎你是沒有清單導出jar。確保從導出菜單中選擇Runnable Jar。另外,請確保在導出時爲您的遊戲選擇有效的Run Configuration

+0

他的評論說他已經擁有,但是沒有設置清單 – daveb 2012-04-05 18:07:46

+0

返回: 未能加載Main-Class清單屬性/Users/andy/Desktop/game.jar – andy 2012-04-05 18:08:48

+0

是的,我剛剛閱讀並編輯過。 – 2012-04-05 18:08:54

1

試試這個:

java -cp your_jar.jar package.name.ClassName 

,其中類名是主定義的類。

的-cp開關裝置的類路徑,其中規定,java會用它來查找類的地方。

在此之後,是類作爲切入點使用的名稱。如果你想爲它提供參數(主要方法),那麼他們會在類名後。

如果您需要在類路徑中指定多個jar文件,它們在Linux上使用冒號或Windows分號分隔

+0

這似乎也不起作用。該軟件包如下: package slick.path2glory.SimpleGame; 然而,這是響應: java命令〜/桌面/ game.jar slick.path2glory.SimpleGame.SimpleGame 異常在線程 「主要」 java.lang.NoClassDefFoundError:組織/ newdawn /柔滑/ BasicGame – andy 2012-04-05 18:07:55

+0

所以這現在找到你的班級,但不是另一個。該類定義在哪裏?在eclipse中導入的單獨的jar文件中? – daveb 2012-04-05 18:11:07

+0

因爲您需要在類路徑中包含Slick2D和LWJGL jars。 'java -cp your_jar.jar:Slick2d.jar:LWJGL.jar package.name.ClassName' – 2012-04-05 18:11:07