我已经通过 exe 安装程序在 PC 上安装了 Java 3D API,它只是在 lib 子目录和bin 子目录中创建了一个带有j3dcore.jar
,vecmath.jar
的新目录。j3dutils.jar
j3dcore-ogl.dll
Netbeans 没有问题,我的代码编译和执行都很顺利,但是一旦我构建了我的项目并尝试从命令提示符运行它,我得到了一个UnsatisfiedLinkError
说法,即no j3dcore-ogl in java.library.path
.
谷歌出手相救,给了我 3 个可行的解决方案:
- 通过将 dll 文件复制到我的 JRE 的 bin 目录中
- 通过将 dll 文件的路径添加到库路径 (
java -Djava.library.path=dllpath
) - 在程序中加载dll
System.load()
(实际上我无法让这个工作)
我的问题是:我错过了这个问题的优雅解决方案吗?
对于每个想要使用这个程序的不同 PC,他必须复制 dll 或将其添加到库路径才能运行,这似乎很乏味。(附带问题:为什么 Netbeans 的 dll 没有问题?)