HudsonでMavenを使用してJavaビルドプロセスを実行し、Surefireプラグインを使用してJUnitテストを実行していますが、ネイティブdllを必要とする1つのプロジェクトの単体テストで問題が発生しました。
私たちが見ているエラーは次のとおりです:
エラーのあるテスト:TestFormRegistrationServiceConnection(com。#productidentifierremoved#.test.RegistrationServiceTest):java.library.pathにオーセンティケーターがありません
ここで、Authenticatorは必要なdllの名前です。これを設定する唯一の方法はargLineを使用することを示唆するこのSO投稿を見つけました。構成を次のように変更しました。
<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>
ただし、これでも同じエラーが発生します。System.out.println(System.getProperty( "java.library.path"));を含めると、これがパスに追加されていないことがわかります。
これをどのように解決できるかについてのアイデアはありますか?