Maven如何知道在哪里可以找到Java1.5

Maven如何知道在哪里可以找到Java1.5,java,maven-2,Java,Maven 2,在pom.xml中,您可以: <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <targ

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.5

Maven如何知道我的1.5版本在哪里?

我认为我们在这里讨论的是Maven。我会通过JAVA_HOME环境变量进行猜测。如果Windows执行echo%JAVA\u HOME%或Linux执行echo$JAVA\u HOME并查看


Oops:很抱歉,我看到它是Maven。

据我所知,这不会使Maven针对Java 1.5库进行编译。这只会告诉编译器接受1.5级源代码并生成1.5级类文件

您的代码仍然可能引用Java6类,只要您的Maven任务使用Java6JVM运行

如果您执行:

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"

我知道maven已经在哪里找到了我的JDK,而我没有设置$javau HOME。删除默认JDK版本后,Maven仍在查看原始位置并抛出错误

如果已经有一个机制,我不想将$javau设置为HOME。最终我找到了~/.mavenrc,它包含了JAVA_HOME的设置


我修复了这个,普雷斯托,一切都很好。

OT:是我还是“pom”看起来真的很像“A片”:?@Anton:可能是你的字体,和我的字体很不一样;-)我相信它可以在JAVA_HOME env变量中查找,也可以在PATH中查找。