繁体   English   中英

Maven中的Java版本不匹配

[英]Java version mismatch in Maven

在尝试使用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?

欢迎您提出任何建议。

尝试将您的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>

您是否看过您的build-local.properties或build.properties? 可能仍然指向那里的JRE。 这纯粹是路径上某个地方的构建路径问题。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM