Maven中的Java版本不匹配

时间:2012-06-20 04:15:11

标签: java maven build

我尝试使用Maven,在命令行上构建我的应用程序时遇到了一个奇怪的问题。 (我在SO上看到的其他问题是指在Eclipse或其他IDE中构建)

当我尝试构建时,maven抱怨它无法在tools.jar中找到Javac。看看给定的位置,显然Maven正在查看JRE目录,但是,我似乎无法让Maven指向我的JDK的正确Java_home - 关于如何做到这一点的任何想法?

环境概述

JAVA_HOME=C:\jdk1.6.0_27
Path=C:\jdk1.6.0_27\bin;...... (showing the jdk is the first thing on the path)

D:\> javac -version
javac 1.6.0_27  <-- This is correct

D:\>java -version
java version "1.6.0_31"  <-- wtf? 

D:\>mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0_31                       <--- This is the problem - Where
Java home: C:\Program Files (x86)\Java\jre6  <--- does Maven get this from?

你最喜欢的任何亮点都是最受欢迎的。

2 个答案:

答案 0 :(得分:1)

尝试将maven目录中的toolchains.xml(例如D:\ maven-2.2.1 \ conf)配置为java版本

<toolchains>
<toolchain>
    <type>jdk</type>
    <provides>
        <version>1.5</version> <!--This should be same as is configured via the toolchains plugin -->
        <vendor>ibm</vendor> <!--This should be same as is configured via the toolchains plugin -->
    </provides>
    <configuration>
        <jdkHome>C:\Program Files\Java\jdk1.5.0</jdkHome>
    </configuration>
</toolchain>
</toolchains>

答案 1 :(得分:0)

你看过你的build-local.properties或build.properties吗?可能仍然指向那里的.JRE。 这必须纯粹是沿着路径某处的构建路径问题。

很抱歉将此列为答案,我似乎无法添加评论。