我的单元测试在eclipse中工作,因为在jna.library.path中正确设置了DLL的路径。
但使用该插件的 mvn test 会因此错误而失败。
无法加载库' ehlapi32':在资源路径中找不到本机库(win32-x86-64 / ehlapi32.dll)
<plugin><!-- This doesn't work -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<workingDirectory>target</workingDirectory>
<forkmode>never</forkmode>
<argLine>-Djna.library.path=C:/my.dll</argLine>
</configuration>
</plugin>
答案 0 :(得分:0)
这是解决问题的 surefire 配置。我试图加载的特定DLL需要一个32位JVM。所以我指定了。
在此之后,使用推荐的方法之一找到DLL,以使用JNA加载dll。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<workingDirectory>target</workingDirectory>
<forkmode>once</forkmode>
<jvm>C:\Program Files (x86)\Java\jdk1.8.0_102\bin\java</jvm>
</configuration>
</plugin>