0

我正在尝试将我的 JoGL 项目变成一个jar文件。我究竟做错了什么?

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.

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
4

3 回答 3

4

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

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

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

于 2009-03-09T07:55:05.797 回答
0

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

我看到您已将罐子本身包含在您的罐子中……不幸的是,这不能开箱即用。

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

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

这就是为什么它适用于威廉而不是你......他从其他地方得到了jogl并且没有使用你罐子里的那个。

于 2009-03-09T08:09:16.777 回答
0

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

mvn clean package

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

于 2013-05-05T20:18:12.267 回答