我在NetBeans中有一个Maven项目,它具有各种依赖关系,允许我绘制一些3D图表/图形(JOGL,Gluegen& JZY3D)。如果我从NetBeans运行项目,这些工作正常,但是当我将项目构建到JAR文件中时,我得到以下内容......
Exception in thread "Building 3D Scatter Plot" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:442)
这是Maven / NetBeans没有构建具有所有正确依赖关系的JAR的问题,还是我错过了什么?
答案 0 :(得分:3)
对于本机库的依赖项,该库必须位于PATH
中或列在java.library.path
系统属性中。您可以将其作为参数传递给java进程,如下所示:java -Djava.library.path=/path/to/dir
我认为你在Netbeans之外做的时候可能会错过这部分。
答案 1 :(得分:0)
在我看来,它正在搜索一个dll(gluegen-rt.dll),它应该在java库路径中。
您可以添加dll依赖项(您需要在repo或Nexus中手动添加它):
<dependency>
<groupId>gluegen-rt</groupId>
<artifactId>gluegen-rt</artifactId>
<type>dll</type>
</dependency>