我在maven中有以下依赖项
<dependency>
<groupId>org.hyperic</groupId>
<artifactId>sigar-dist</artifactId>
<version>1.6.5.132</version>
<type>zip</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这sigar-dist-1.6.5.132.zip在我的存储库中创建.我在这里看到了这个问题,但是我仍然无法使它成功.
如何解压缩sigar-dist.zip并将内容放在项目的目录中?为了使它工作,我必须做什么mvn调用?
我们在Hudson中使用Maven来运行我们的Java构建过程和Surefire插件来执行JUnit测试但是我遇到了一个需要本机dll的项目的单元测试问题.
我们看到的错误是:
测试错误:TestFormRegistrationServiceConnection(com.#productidentifierremoved#.test.RegistrationServiceTest):java.library.path中没有Authenticator
Authenticator是我们需要的DLL的名称.我发现这个SO帖子表明设置它的唯一方法是通过argLine.我们将配置修改为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.10</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-Djava.library.path=${basedir}\src\main\native\Authenticator\Release</argLine>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但是,如果我们包含System.out.println(System.getProperty("java.library.path")),这仍会产生相同的错误; 我们可以看到这没有添加到路径中.
我们如何解决这个问题?