Java 使用外部JNI库构建maven项目

Java 使用外部JNI库构建maven项目,java,maven-2,java-native-interface,executable-jar,Java,Maven 2,Java Native Interface,Executable Jar,我正在MacOSx上开发一个程序,它使用第三方jar文件,所有这些文件都使用JNI调用C函数 如何在构建路径中包含这些内容,并设置java.library.path以正确使用外部依赖项? 我希望避免在我的maven存储库中安装任何东西。这一点很重要,因为我还必须将我的程序部署到其他linux平台,这些平台已经在某处安装了第三方JAR和C库 现在我所做的是添加我的jar依赖项,scope=system和systemPath指向jar文件的完整路径,但我不知道如何设置特定于操作系统的依赖项 问候,


我正在MacOSx上开发一个程序,它使用第三方jar文件,所有这些文件都使用JNI调用C函数

如何在构建路径中包含这些内容,并设置java.library.path以正确使用外部依赖项? 我希望避免在我的maven存储库中安装任何东西。这一点很重要,因为我还必须将我的程序部署到其他linux平台,这些平台已经在某处安装了第三方JAR和C库

现在我所做的是添加我的jar依赖项,scope=system和systemPath指向jar文件的完整路径,但我不知道如何设置特定于操作系统的依赖项

问候,

Philippe

您可以使用:

<dependency>
          <groupId>foo</groupId>
          <artifactId>bar</artifactId>
          <version>1.0.0</version>
          <scope>provided</scope>
          <systemPath>/my/path/to/c_libs_folder/myexecutable.jar</systemPath>
 </dependency>

福
酒吧
1.0.0
假如
/my/path/to/c_libs_文件夹/myexecutable.jar
您是否可以使用:

<dependency>
          <groupId>foo</groupId>
          <artifactId>bar</artifactId>
          <version>1.0.0</version>
          <scope>provided</scope>
          <systemPath>/my/path/to/c_libs_folder/myexecutable.jar</systemPath>
 </dependency>

福
酒吧
1.0.0
假如
/my/path/to/c_libs_文件夹/myexecutable.jar

现在,我只是将依赖JNI的jar文件放在我的maven依赖项中,然后用-Djava.library.path=/my/path/to/c_libs_folder-jar myexecutable.jar启动我的可执行jar文件。现在,我只是将依赖JNI的jar文件放在我的maven依赖项中,然后启动可执行jar文件-Djava.library.path=/my/path/to/c_libs_folder-jar myexecutable.jar