1

尝试在命令行上使用 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?

您可以对此提出的任何启示都将受到欢迎。

4

2 回答 2

1

尝试将您的 maven 目录(例如 D:\maven-2.2.1\conf)中的 toolchains.xml 配置为您的 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>
于 2012-06-21T13:01:07.250 回答
0

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

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

于 2012-06-20T04:41:35.710 回答