当前位置: 首页 > 面试题库 >

无法启动.jar文件(使用LWJGL)

郗俊能
2023-03-14
问题内容

美好的一天!

我创建了jar文件(使用Nethtml" target="_blank">beans),但无法启动。该项目使用lwjgl库。在我的IDE中,它运行良好。

我使用下一个命令:

java -jar LWJGL_TimerExample.jar

答案是:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.lwjgl.Sys$1.run(Sys.java:73)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
at org.lwjgl.Sys.loadLibrary(Sys.java:82)
at org.lwjgl.Sys.<clinit>(Sys.java:99)
at org.lwjgl.opengl.Display.<clinit>(Display.java:130)
at Sourse.TimerExample.start(TimerExample.java:32)
at lwjgl_timerexample.Main.main(Main.java:21)

其他项目(没有此库)可以正常工作。我该如何解决这个错误?

我的清单是:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.6.0_26-b03-384-10M3425 (Apple Inc.)
Main-Class: lwjgl_timerexample.Main
Class-Path: lib/jinput.jar lib/lwjgl.jar lib/lwjgl_util.jar
X-COMMENT: Main-Class will be added automatically by build

问题答案:

由于您需要将本地文件放在jar旁边,并通过’-Djava.library.path’参数指向它们,因此它无法按照您当前尝试的方式工作。

如果您只想要一个jar,并希望避免命令行和本机文件的麻烦,请使用JarSplice工具。JarSplice易于使用,并将自动为您处理本机文件。

1)只需将您的项目(类和资源)导出到jar中(只需通过IDE即可轻松完成)。

2)然后运行JarSplice,将所需的所有jar添加到jars选项卡(您的应用程序jar,lwjgl.jar以及您使用的任何其他外部jar)。

3)然后在“本机”选项卡上添加所有本机文件(Windows * .dll,Linux * .so,mac * .dylib和* .jnilib)。

4)在课程标签上,添加您的主课程。然后创建您的罐子。

然后,只需双击它即可运行该jar(或者如果希望通过命令行使用“ java -jar yourapp.jar”)。



 类似资料:
  • 问题内容: 我有一个要从C#中运行的jar文件。 这是我到目前为止的内容: 不幸的是,我得到“系统找不到指定的文件”,这很有意义,因为它不是命令文件。 我在网上看到过代码,告诉您使用: 但是,我需要返回码,并且需要等待它退出。 谢谢。 问题答案: 终于解决了。文件名必须是java,参数必须包含jar文件的位置(以及您要传递的所有参数)

  • 我在eclipse中有一个项目,它使用ant来编译和jar类文件和引用的jar。使用eclipse中的默认java builder生成的类文件生成的jar文件工作良好,但是当使用ant编译源代码然后jar结果时,在目标构建上执行java-jar时会出现错误“错误:尝试打开文件时出现意外错误”结果。有人知道我做错了什么吗?下面是构建xml内容。下面是我传递给ant的参数 -dintouchv.src

  • 环境:Ubuntu 18Spring开机2.0 JDK 11 当应用程序在IntelliJ中运行时,它会正确执行,但在Spring Bootmaven插件打包文件后读取文件时不会。 PS:该文件确实可以在打包的jar文件中找到!

  • Spring Boot是否可以在上下文中正确地加载旧的jar?旧jar中的pom文件是否不会受到影响,因为它引用了一些父级的spring版本以及使用相同版本的jar?或者这些JAR只使用spring boot添加的依赖关系? 有人能建议我哪里做错了吗?

  • 我有一个maven Spring Boot应用程序,并且成功地从IntelliJ打包了一个war文件。对于一个测试,我在本地运行jetty,并将war文件放在webapps目录中,但是我得到了这个错误: /hallo-->O.E.J.W.webappContext@6C86E993{/hallo,[文件:///C:/users/ricardo/appdata/local/temp/jetty.0.

  • 我有一个Java应用程序,它位于我编译为可执行jar文件的系统托盘中。我想在我的程序中添加添加到系统启动项的选项。 由于我不知道有什么统一的方法可以为所有操作系统做到这一点,我假设我必须为我打算支持的每个操作系统编写代码,所以我从Windows开始。 当我试图使用此处可用的代码将其添加到注册表中时,我发现在Windows 7和8下,除非我具有管理员权限(通过从提升的命令提示符运行),否则我对注册表