我正在开发一个需要LWJGL的项目,我正在努力让项目启动并运行,并且在设置JVM Launch参数方面遇到了障碍。
LWJGL的文档内容如下:
将-Djava.library.path系统属性(作为JVM启动参数)设置为包含本机文件的文件夹
我得到的错误是:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1119)
at org.lwjgl.LWJGLUtil.loadLibrarySystem(LWJGLUtil.java:337)
at org.lwjgl.Sys$1.run(Sys.java:36)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.<clinit>(Sys.java:33)
at HelloWorld.run(HelloWorld.java:24)
at HelloWorld.main(HelloWorld.java:114)
我已经将LWJGL jar添加到Properties - &gt; Java构建路径 - &gt;库。
我已经做了一些查询来弄清楚如何设置JVM Launch参数,并且遗漏了一些明显的东西。我是新手用Java构建项目配置。有任何想法吗? THX。
更新
在一些有用的答案之后,我在我的运行配置中添加了一个系统变量,但仍然遇到同样的错误。以下是我的运行配置的屏幕截图。
此外,我的lwjgl jar位于Project文件夹中可能是重要的信息。
答案 0 :(得分:3)
您可以直接在代码中设置系统属性,以便它们在eclipse之外工作。
public class Main {
static {
final String PATH_TO_NATIVES = /*...*/;
System.setProperty("java.library.path", PATH_TO_NATIVES);
}
}
您应该在执行任何其他操作之前执行此操作,因此请将其放在主类中的静态块(如上面的代码中)或主方法的开头。
顺便说一句:您也可以设置org.lwjgl.librarypath
,这更具体(虽然两个属性都有效)。
编辑:
从3.0.0b build 37开始,可以使用新的Configuration
类在运行时设置这些属性。
public class Main {
final String PATH_TO_NATIVES = /*...*/;
Configuration.LIBRARY_PATH.set(PATH_TO_NATIVES);
}
答案 1 :(得分:2)