Maven如何知道在哪里找到Java 1.5

3
pom.xml 中,您可以:
<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Maven如何知道我安装了1.5版本的位置?

1
OT:是不是只有我觉得“pom”看起来非常像“porn” :)? - Anton Gogolev
@Anton:可能是你的字体问题,我的字体显示出来差别很大;-) - Joachim Sauer
我相信它会在JAVA_HOME环境变量或PATH中查找它。 - Henry B
3个回答

12
据我所知,这样做不会让Maven编译针对Java 1.5库。 这只是告诉编译器接受1.5级别的源代码并生成1.5级别的类文件。
只要你的Maven任务在Java 6 JVM上运行,你的代码仍然可能引用Java 6类。
如果执行以下操作:
mvn -v

输出将显示您正在使用的Java版本。例如:

Apache Maven 2.1.0 (r755702; 2009-03-18 19:10:27+0000)
Java version: 1.6.0_13
Java home: C:\Program Files\Java\jdk1.6.0_13\jre
Default locale: en_IE, platform encoding: Cp1252
OS name: "windows vista" version: "6.0" arch: "x86" Family: "windows"

1

我理解我们在谈论Maven。我猜测是通过JAVA_HOME环境变量。如果是Windows,请执行echo %JAVA_HOME%,如果是Linux,请执行echo $JAVA_HOME。

糟糕:抱歉,我看到这是Maven。


0

我知道Maven已经找到了我的JDK的位置,而不需要我设置$JAVA_HOME。但是在删除默认的JDK版本后,Maven仍然在原始位置查找并抛出错误。

如果已经有机制存在,我就不想设置$JAVA_HOME。最终我找到了~/.mavenrc文件,其中包含了JAVA_HOME的设置。

我解决了这个问题,一切都很顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接