首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有maven-surefire-插件的UnsatisfiedLinkError

带有maven-surefire-插件的UnsatisfiedLinkError
EN

Stack Overflow用户
提问于 2015-12-01 08:38:52
回答 2查看 611关注 0票数 0

当使用maven-surefire-plugin运行单元测试时,会发生以下错误:

java.lang.UnsatisfiedLinkError:无法在64位JVM上加载32位SWT库

我知道如何在IDE中解决这个问题,我只需在测试的运行配置中选择正确的运行时JRE。但是,当测试在TeamCity构建服务器上运行时,会发生上述错误。

是否有任何可以配置运行时JRE的万无一失或TeamCity选项?

这是我目前的安全配置:

代码语言:javascript
运行
复制
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skipTests>false</skipTests>
    <includes>
      <include>**/*Test.java</include>
    </includes>
    <parallel>methods</parallel>
    <threadCount>10</threadCount>
  </configuration>
</plugin>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-01 10:42:42

在TeamCity中配置Maven构建步骤时,使用适当的"bitness“(在您的示例中为x86)选择一个目标JDK:

至少您的一个构建代理应该有一个32位的JDK已被发现和可用。您可以通过代理( -> Connected -> -> agent参数-> Environment变量)检查特定代理是否是这种情况。下面是一个JDK_*变量及其值的示例:

代码语言:javascript
运行
复制
JDK_14       C:\Program Files (x86)\Java\jdk1.4.2_19
JDK_15       C:\Program Files\Java\jdk1.5.0_22
JDK_15_x64   C:\Program Files\Java\jdk1.5.0_22
JDK_16       C:\Program Files (x86)\Java\jdk1.6.0_45
JDK_16_x64   C:\Program Files\Java\jdk1.6.0_45
JDK_17       C:\Program Files (x86)\Java\jdk1.7.0_76
JDK_17_x64   C:\Program Files\Java\jdk1.7.0_76
JDK_18       C:\Program Files\Java\jdk1.8.0_40
JDK_18_x64   C:\Program Files\Java\jdk1.8.0_40

在这里,具有相同值的JDK_18JDK_18_x64意味着代理没有找到32位1.8JDK。

票数 0
EN

Stack Overflow用户

发布于 2015-12-01 08:45:18

您可以使用jvm标记来指定要使用哪个JVM:

代码语言:javascript
运行
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <jvm>${env.MY_JAVA_HOME}/bin/java</jvm>
        <skipTests>false</skipTests>
        <includes>
            <include>**/*Test.java</include>
        </includes>
        <parallel>methods</parallel>
        <threadCount>10</threadCount>
    </configuration>
</plugin>

本例假设您有一个MY_JAVA_HOME环境变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34016008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档