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>