2011-03-03 34 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