使用Maven项目的依赖项构建?

时间:2012-12-20 14:34:59

标签: java maven netbeans deployment

我在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的问题,还是我错过了什么?

2 个答案:

答案 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>