首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为maven指定特定的jdk版本来构建我的项目?

如何为maven指定特定的jdk版本来构建我的项目?
EN

Stack Overflow用户
提问于 2012-09-19 22:51:40
回答 3查看 6.5K关注 0票数 1

我的问题是:测试用例在本地是绿色的,但由于不支持的jdk版本,一些测试用例在hudson服务器上失败。本地是ibm jdk1.6linux,而hudson服务器安装的是ibm jdk1.6 sr9 sr4。“不支持将此Java虚拟机与Blaze Advisor一起使用,因为java.beans.Introspector的实现未能通过验证。”

我被告知Hudson服务器不能更改为其他jdk,所以我认为有什么解决方法可以绕过这些失败吗?我可以告诉maven用特定的jdk编译项目吗?比如,1.6版本的sr4,而不是sr9。此外,我需要maven下载sr4作为依赖性,因为服务器上没有这个版本。

在我搜索的时候,似乎很难做到这一点。那么我还能有什么选择呢?

谢谢你的建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-19 23:46:17

Maven应该从JAVA_HOME中指定的java开始,如果您需要使用不同的版本,我会使用工具链插件来使用指定的jdk版本运行您的构建。不过,这需要服务器上已经安装了该版本。

http://maven.apache.org/guides/mini/guide-using-toolchains.html

您将需要添加插件到您的pom,并添加一个toolchains.xml文件。

代码语言:javascript
复制
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-toolchains-plugin</artifactId>
    <version>1.0</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <goals>
          <goal>toolchain</goal>
            </goals>
      </execution>
    </executions>
    <configuration>
      <toolchains>
        <jdk>
          <version>1.5</version>
          <vendor>sun</vendor>
        </jdk>
      </toolchains>
    </configuration>
  </plugin>

添加到.m2文件夹的toolchains.xml文件,该文件指定jdk的安装位置。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
  <toolchain>
     <type>jdk</type>
     <provides>
         <version>1.5</version>
         <vendor>sun</vendor>
         <id>default</id>
     </provides>
     <configuration>
        <jdkHome>/path/to/jdk/1.5</jdkHome>
     </configuration>
  </toolchain>
票数 2
EN

Stack Overflow用户

发布于 2012-09-19 23:03:01

真的吗?Hudson应该支持切换JDK,我已经在Jenkins中做到了。在最坏的情况下,您可以在Hudson构建中指定JAVA_HOME环境变量。在maven中改变是不可能的,因为maven本身需要JDK来启动。

票数 0
EN

Stack Overflow用户

发布于 2012-09-19 23:36:52

您可以在maven-compiler-plugin中对其进行配置

代码语言:javascript
复制
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>

您还可以使用配置文件-P根据环境设置版本。

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

https://stackoverflow.com/questions/12497262

复制
相关文章

相似问题

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