Моя проблема в том, чтобы Maven протестировать только один из моих проектов с 32-битным движком Java, чтобы иметь возможность использовать определенную нативную библиотеку (на самом деле SSJavaCOM .dll от Sparx Systems). Он недоступен в 64-разрядной версии. Все остальные проекты должны быть запущены в 64-битной jvm.
Я использую Eclipse с m2e и настроил pom.xml для своего проекта. Я узнал, что я могу переключать jvm в тесте Maven, используя maven-surefire-plugin и настраивая jvm . Я поместил SSJavaCOM.dll в C: \ Windows \ System32 и подумал, что его нужно найти.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<configuration>
<jvm>../../../../../Program Files (x86)/Java/jre1.8.0_172/bin/java</jvm>
<forkMode>once</forkMode>
</configuration>
</plugin>
(я пробовал C: / вместо пяти ../ безуспешно)
При запуске Maven Test Я получаю сообщение об ошибке
java.lang.UnsatisfiedLinkError: no SSJavaCOM in java.library.path
at eu.ngong.renOld.RenOldTest.commandline_test(RenOldTest.java:40)
Я также пытался настроить Surefire с
<argLine>-Djava.library.path=../../../../../Windows/System32</argLine>
но привело к тому же сообщению об ошибке (также с C: /)
Буду признателен, если у вас есть идея получше, чем настройка Surefire, запускающая настольную программу в 32-разрядной версии, или помощь в правильной настройке Surefire.