java - 使用导入的库运行 jar 文件时出现问题?

标签 java build jar lwjgl classnotfoundexception

我对 Java 比较陌生,我制作了一个使用 LWJGL 3 的脚本。该程序在 Eclipse IDE 中运行得很好,但是当我尝试将其导出为可运行的 Jar 文件时(我检查了 package requiredlibraries 字段) ),然后尝试通过 Windows 命令行运行它,我收到如下错误消息:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.lang.NoClassDefFoundError: org/lwjgl/glfw/GLFW
    at renderEngine.TestEngine.main(TestEngine.java:18)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: org.lwjgl.glfw.GLFW
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 6 more

我假设这是由于无法访问我导入的库而引起的问题,但在网上搜索了一段时间后,我找不到解决该问题的正确指导答案。大多数时候,是有人提出问题,然后只是说他们自己解决了问题,或者其他人解释了问题,但实际上并没有提供帮助。我希望有人可以帮助我指导如何解决此问题,以及是否可以解释它以避免将来出现问题。

如果需要更多信息来帮助解决该问题,我将很乐意提供。

更新: 看来问题出在 GLFW 上,而不是整个库上。当重新阅读错误时,当我还使用来自同一库(例如 OpenGL)的其他导入时,唯一无法找到或加载的是 GLFW。另外,它指定的行是我从 GLFW 调用函数的行,而不是导入包时的行,不知道这是因为导入不成功时不会调用错误,还是可能存在其他问题在包本身内。 我不知道我是否正确,只是想通过提供更多信息来提供帮助。

谢谢,奥利弗:)

最佳答案

您可以将项目导出为“可运行 jar”(在项目上右键 -> 导出 -> 可运行 jar),您可以选择将所有依赖项打包到生成的 jar 中。

使用突出显示的库处理选项。

enter image description here

关于java - 使用导入的库运行 jar 文件时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54001207/

相关文章:

java - Java 输出的说明

java - Android 上带有 Jar 文件的 Flex AIR

java - WebSphere 8.5.5 不返回 JAR 签名者

java - Android LiveData 未更新

java - 在 mongoDB 中创建唯一索引

scala - sbt : Is there a better way of structuring large build. sbt 文件

silverlight - "CreateRiaClientFilesTask"任务意外失败

emacs - 使Emacs :/usr/bin/ld: cannot find -lpng15

java - 需要一个 ANT 任务在最终的 jar/lib 目录中包含一组 jar 文件

java - spring data jpa 通过示例查找所有嵌套集合属性