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

运行.jar时,出现“ java.library.path中没有lwjgl”错误

吕寒
2023-03-14
问题内容

我正在通过Netbeans使用LWJGL库用Java编写基本游戏。

我用lwjgl,lwjgl_util和jinput .jar创建了一个库,并在项目属性的“运行”类别中添加了-Djava.library.path =
C:\ LWJGL \ native \ windows。

当我在Netbeans中运行文件时,它可以完美运行,没有任何问题。但是,当我通过双击文件运行.jar时,什么都没有弹出(据我所知,甚至没有瞬时的cmd错误窗口)。当我通过命令行运行文件时,我得到:

C:\Users\200160765>java -jar "C:\Users\200160765\Documents\NetBeansProjects\Game
\dist\Game.jar"
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.libr
ary.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        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 game.Draw.createWindow(Draw.java:198)
        at game.Draw.init(Draw.java:214)
        at game.Draw.run(Draw.java:56)
        at game.Main.main(Main.java:9)

我试过将DLL和.jar库文件移到与Game.jar相同目录中的’lib’文件夹中,并将它们移至与Game.jar相同的目录中,但是遇到相同的错误。有人可以帮我解决为什么我似乎无法在netbeans之外进行此工作吗?


问题答案:

您必须使用命令行参数-Djava.library.path =“ path / to /
natives”将jvm指向本地文件所在的位置。您可以使用批处理(.bat)文件进行指定,然后为您启动应用程序

或者,您可以使用JarSplice之类的工具从所有jar中创建一个可执行的jar文件,同时在其中包含本机文件。它可以自动执行手动指定本地人的棘手部分,并提供更好的最终用户体验。

要使用JarSplice,只需在jars选项卡中选择game.jar,lwjgl.jar,lwjgl_util.jar和jinput.jar。然后,“本机”选项卡中的所有
.dll,
。so,。dylib和 .jnilib文件。在类选项卡上添加您的主类,并创建单个可执行jar。



 类似资料:
  • 在我将所有本机库链接到每个引用库并按照http://ninjacave.com/lwjglwitheclipse的说明操作之后,该错误仍然存在

  • 问题内容: 请注意,这与该问题不同,因为它不处理链接,因为它不是在询问如何通过CLI进行链接,而是询问Eclipse中的GUI。 我一直在尝试使用LWJGL编写一个简单的程序。当我将库添加到Eclipse(在Windows 7 64bit上为Kepler 4.3.1)并编写程序时,在使用LWJGL的情况下,它不会显示红色弯曲。但是,尝试运行它会为我提供以下堆栈跟踪: (是的,这是他们首先给出的示例

  • 我有一个Java程序,可以读取和处理HDF5文件。在Eclipse(windows OS)上运行时,我遇到了以下错误,必须添加一个运行配置VM参数(-Dncsa.hdf.hdf5lib.H5.hdf5lib=\jhdf5.dll)才能添加库并正常运行。现在我正在导出一个可运行的Jar文件,我再次遇到错误,可能是因为它没有继承VM参数。 基于这篇文章,我看到了两个可能的选择:创建一个shell脚本或

  • 运行hadoop jar文件时出现以下错误 线程“main”java中出现异常。lang.ClassNotFoundException:hdfs: 位于java。网URLClassLoader 1美元。在java上运行(URLClassLoader.java:366) 。网URLClassLoader 1美元。在java上运行(URLClassLoader.java:355) 。安全AccessC

  • 问题内容: 当我尝试运行Java应用程序时,出现以下错误: 我没有一个文件在我的电脑上,但我在。 是正确指定的,所以我认为问题在于应用程序正在搜索错误的版本(9而不是10)。 Oracle和Java Builder都是新安装的,所以问题可能出在项目首选项上吗?您对如何搜索指定错误版本的地方有任何想法吗? 问题答案: 您缺少Java CLASSPATH中的文件。 您需要将OCI jar添加到您的类路

  • 问题内容: 运行代码时出现此错误。 我已将jar( sapjco-3.0.jar )添加到文件夹,并在项目中设置了路径。 谢谢。 问题答案: 您缺少sap java连接器的本机实现。sapjco由用于Java绑定的.jar和用于平台特定绑定的本机库(.so文件)组成。 您需要在树液服务市场上有一个帐户才能访问它。如果您有一个,请访问http://service.sap.com,然后转到软件下载/安