JNA dll不会加载surefire插件

时间:2018-02-01 11:38:40

标签: maven jna

我的单元测试在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>

1 个答案:

答案 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>