内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
我有一个Maven依赖项,需要运行时的DLL。我想要做的只是将该dll放在resources/lib
文件夹中,并将其DLL放到target
目录中。所以我做了什么:
src/main/resources/lib
pom.xml
为使用参数-Djava.library.path = $ {basedir} / lib像这样:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <forkMode>once</forkMode> <workingDirectory>target</workingDirectory> <argLine>-Djava.library.path=${basedir}/lib</argLine> </configuration> </plugin>
但是,我仍然得到运行时错误,DLL不存在于java.library.path中。
你<argLine/>
指向一个不正确的路径。试试这个:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>once</forkMode>
<workingDirectory>target</workingDirectory>
<argLine>-Djava.library.path=${basedir}/src/main/resources/lib</argLine>
</configuration>
</plugin>
如果这个DLL只用于测试,你应该把它放在下面src/test/resources
。在这种情况下,<argLine/>
路径将变为${project.build.directory}/test-classes
。