从eclipse导出后我有错误:
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
使用Fat 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.
答案 0 :(得分:4)
要运行jar文件,请运行:
java -jar (name-of-jar-file)
所以你应该跑:
java -jar C:\wamp\www\JOGL\test.jar
答案 1 :(得分:2)
确保在导出和创建JAR时,设置了三件事:
答案 2 :(得分:1)
您输入的命令只有“java file.jar”用于运行.class文件,运行jar的正确语法是“java -jar file.jar”,它会搜索jar以获取清单并执行它。< / p>
您也可以通过添加class-path和主类名
来运行它java -cp C:\wamp\www\JOGL\test.jar com.ext.Example
答案 3 :(得分:0)
这不是你运行JAR文件的方式!
使用java -jar test.jar
语法
答案 4 :(得分:0)
您看到此错误的原因是java正在查看您当前的工作目录作为类路径。您的JAR文件位于不同的目录中。
您有以下选择: 1) cd C:\ wamp \ www \ JOGL java -jar test.jar(当您在清单文件中定义Main-Class时,java会从那里选择它)。 确保您的jar保持与包结构相同的目录结构。
2)java -cp C:\ wamp \ www \ JOGL \ test.jar window.SimpleClass(将类路径指向你的jar)
注意:如果您对此JAR文件之外的其他JAR /类具有依赖性,则它们必须是类路径的一部分(绝对/相对于当前目录)。