Surefire JUnit-Test mit nativen Bibliotheken
Wir verwenden Maven in Hudson, um unseren Java-Build-Prozess auszuführen, und das Surefire-Plugin, um JUnit-Tests auszuführen. Bei den Komponententests für ein Projekt, das native DLLs erfordert, ist jedoch ein Problem aufgetreten.
Der Fehler, den wir sehen, ist:
Fehlerhafte Tests: TestFormRegistrationServiceConnection (com. # Productidentifierremoved # .test.RegistrationServiceTest): kein Authenticator in java.library.path
Wobei Authenticator der Name der DLL ist, die wir benötigen. ich fanddieser SO Beitrag Dies lässt darauf schließen, dass dies nur über argLine eingestellt werden kann. Wir haben unsere Konfiguration folgendermaßen geändert:
<code> <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> </code>
Dies gibt jedoch immer noch den gleichen Fehler und wenn wir ein System.out.println (System.getProperty ("java.library.path") einschließen); Wir können sehen, dass dies nicht zum Pfad hinzugefügt wird.
Irgendwelche Ideen, wie wir das lösen können?