这个Jar文件有什么问题吗?

时间:2009-03-09 07:37:58

标签: java opengl jar jogl

我正在尝试将我的JoGL项目变成一个jar。有人能告诉我我做错了什么吗? http://www.megaupload.com/?d=MA3LF50J

来自schnaader的编辑:来自我PC的Stacktrace:

编辑来自WILLIAM:它在我的电脑上运行就像JCreator中的正常项目一样,所以我知道这不是代码。我的jre的/ lib / ext /文件夹中也有JoGL。

Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GL
EventListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        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)
        at java.lang.ClassLoader.loadClassInternal(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)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        ... 12 more
Could not find the main class: chartest.  Program will exit.

来自schnaader的EDIT2:JAR文件的内容:

META-INF\MANIFEST.MF
gluegen-rt.jar
jogl.jar
chartest$1.class
chartest.class
gluegen-rt.dll
jogl.dll
jogl_awt.dll
jogl_cg.dll
test.png

3 个答案:

答案 0 :(得分:4)

您可以检查您的类路径。它应该包括至少

  • 包含您编写的类的jar文件
  • 支持javax.media.opengl(jogl.jar?)等类的jars

尝试将所有这些jar放在类路径中并运行它。

答案 1 :(得分:0)

是你的类路径中的Jogle jar文件吗?

我看到你已经将罐子自己包含在你的罐子里......不幸的是,这不会开箱即用。

要么把罐子拿出来然后放在你的类路径中(也可以是你的清单的一部分)或者写你自己的类加载器......

http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html

这就是为什么它适用于威廉而不适合你......他从其他地方得到了一个慢跑,并没有在你的罐子里使用它。

答案 2 :(得分:0)

切换到Netbeans以构建您的jar文件。我发现在我的项目中使用其他库包括dll文件最好使用像Netbeans这样的东西,或者只是用maven包装它。

mvn clean package

如果你想使用maven来打包你的所有jar文件,你需要精通xml。