JNA dll 不加载 surefire 插件
JNA dll doesn't load with surefire plugin
我的单元测试在 eclipse 中工作,因为 DLL 的路径在 jna.library.path 中设置正确。
但是 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>
这是我的 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>
我的单元测试在 eclipse 中工作,因为 DLL 的路径在 jna.library.path 中设置正确。
但是 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>
这是我的 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>