【发布时间】:2018-05-04 18:11:23
【问题描述】:
我的问题是 Maven 测试 只是我的一个带有 32 位 java 引擎的项目,以便能够使用某个本地库(实际上是 SSJavaCOM.dll 来自 Sparx Systems)。它在 64 位中不可用。所有其他项目应保持在 64 位 jvm 中运行。
我将 Eclipse 与 m2e 一起使用,并为我的项目配置了 pom.xml。我了解到我可以通过使用 maven-surefire-plugin 并配置 jvm 在 Maven 测试中切换 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 测试我收到失败消息
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,我将不胜感激。
【问题讨论】:
标签: java maven enterprise-architect maven-surefire-plugin