首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java - JOGL部署: NoClassDefFoundError

Java - JOGL部署: NoClassDefFoundError
EN

Stack Overflow用户
提问于 2015-10-09 19:20:30
回答 1查看 454关注 0票数 0

开发环境: ItelliJ 14 ->编译和运行良好。

从命令行执行自定义创建的.jar时,将显示以下内容

代码语言:javascript
复制
C:\Java\Projects\OpenGLES\out\artifacts\Test1>java -jar Test1.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/opengl/G
ventListener
        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$100(Unknown Source)
        at java.net.URLClassLoader$1.run(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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.jogamp.opengl.GLEventListener
        at java.net.URLClassLoader$1.run(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)
        ... 13 more

我正在尝试创建.jar工件,只需双击start即可。我认为这个问题意味着这个类找不到一些资源。JOGL/JogAmp官方网站解释了如何使用JOGL部署.jars,但我想我遗漏了一些东西。

Test1.jar的结构如下:

代码语言:javascript
复制
Test1.jar/
--com/
----company/
------Main.class
--jar/
----gluegen-rt.jar
----gluegen-rt-natives-windows-amd64.jar
----gluegen-rt-natives-windows-i586.jar
----jogl-all.jar
----jogl-all-natives-windows-amd64.jar
----jogl-all-natives-windows-i586.jar
--lib/
----windows-amd64/
-------gluegen-rt.dll
-------joal.dll
-------jocl.dll
-------jogl_cg.dll
-------jogl_deskop.dll
-------jogl_mobile.dll
-------nativewindow_awt.dll
-------nativewindow_win32.dll
-------newt.dll
-------soft_oal.dll
--META-INF/
----MANIFEST.MF
--com
--jar
--lib
--META-INF

manifest.mf包含-

代码语言:javascript
复制
Manifest-Version: 1.0
Main-Class: com.company.Main
EN

回答 1

Stack Overflow用户

发布于 2015-10-09 19:36:14

通过堆栈跟踪,似乎JVM找不到类com.jogamp.opengl.GLEventListener,这意味着它无法解析包含的jar文件的路径。jar文件的路径不正确。点击链接查看如何正确打包jars。

https://docs.oracle.com/javase/tutorial/deployment/jar/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33036967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档