2011-03-03 32 views
3

主類清單屬性我有錯誤:從該文件無法從蝕出口後加載從

C:\Program Files\Java\jre6\bin>java C:\wamp\www\JOGL\test.jar 
Exception in thread "main" java.lang.NoClassDefFoundError: C:\wamp\www\JOGL\test/jar 
Caused by: java.lang.ClassNotFoundException: C:\wamp\www\JOGL\test.jar 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
Could not find the main class: C:\wamp\www\JOGL\test.jar. Program will exit. 

清單:

Manifest-Version: 1.0 
Sealed: true 
Main-Class: windows.SimpleScene 

相同的錯誤時出口與脂肪JAR

已更新:

C:\Program Files\Java\jre6\bin>java -jar C:\wamp\www\JOGL\test.jar 
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClassCond(Unknown Source) 
     at java.lang.ClassLoader.defineClass(Unknown Source) 
     at java.security.SecureClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.defineClass(Unknown Source) 
     at java.net.URLClassLoader.access$000(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 12 more 
Could not find the main class: windows.SimpleScene. Program will exit. 

回答

4

要運行一個jar文件,運行:

java -jar (name-of-jar-file) 

所以,你應該運行:

java -jar C:\wamp\www\JOGL\test.jar 
+0

反正類不能找到明顯的inspite有它 – bravedick 2011-03-03 19:48:15

+0

@Taras:這是一個不同的類 - 一個在OpenGL庫。你需要在你的jar文件中添加適當的類路徑條目。 – 2011-03-03 21:49:59

0
那不是你如何運行一個JAR文件

使用java -jar test.jar語法

1

用於運行.class文件,你只輸入「java的file.jar」命令,運行罐子正確的語法是「Java的罐子file.jar」,搜索你的罐子爲清單並執行它。

您還可以通過在類路徑和主類名

java -cp C:\wamp\www\JOGL\test.jar com.ext.Example 
0

您看到了這個錯誤的原因是Java是看你的當前工作目錄classpath中加入運行它。因爲你的JAR文件位於不同的目錄中。

您有以下選擇: 1) CD C:\ WAMP \ WWW \ JOGL -jar Test.jar的(如你在清單文件中定義的主類 的Java,Java的會選擇從那裏) 。 確保你的jar和你的包結構保持相同的目錄結構。

2)java命令C:\ WAMP \ WWW \ JOGL \ Test.jar的window.SimpleClass(指向類路徑,以你的罐子)

注:超出了這個JAR如果你有其他的JAR依賴/班文件,它們需要成爲類路徑的一部分(絕對/相對於當前目錄)。

2

確保,當你出口和創造你JAR三件事情都設置:

  1. 出口它作爲一個「可運行jar文件」。
  2. 定義您的啓動配置(這是您的類中包含主要方法)。
  3. 選擇「將所需的程序包打包到生成的JAR中」。

enter image description here