【发布时间】:2014-07-04 17:31:38
【问题描述】:
我在尝试让 Maven 加载我的本机库时遇到问题。目前,我将我的库文件 (.so) 放在 src/main/resources/ 中,它给了我一个错误,即在 java.library.path 中找不到它。我也尝试将它放在项目的基本目录中,但给了我相同的结果。
下面是我试过的maven插件,但是好像不行。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<property>
<name>java.library.path</name>
<value>${project.build.directory}</value>
</property>
</systemProperties>
</configuration>
</plugin>
如果有帮助,我会直接从 Eclipse 运行我的项目。我知道如何让它在 Eclipse 中工作,但希望它与 maven 一起工作。
@EDIT 我也试过在命令行上运行它,我仍然收到同样的错误
【问题讨论】:
-
我知道
${project.build.directory}指向${basedir}/target。您提到.so被放置在src/main/resources,它将被复制到${project.build.directory}/classes(${basedir}/target/classes)。 -
但是当我看罐子时,它在底部
-
是的,你是对的。生成的 jar 文件在基本级别包含该资源。但万无一失的是在那之前执行的。阶段测试在阶段包之前。请参考maven.apache.org/guides/introduction/…
-
有没有办法指向罐子里的那个?或者 jar 中的文件夹,比如 lib/?
-
我以前只是指向dll/so的全路径,明白不能指向jar文件。请看stackoverflow.com/questions/4691095/…
标签: maven java-native-interface