Maven指向JRE而不是JDK

我一直在与一个同事一起解决我刚刚加入的一个新项目遇到的问题。长话短说,Maven无法正确构建我的.war文件。当我向我的同事提供战争档案时,他会遇到与我相同的问题,当他向我提供其已编译的.war文件时,一切都会正常进行。我们俩都在同一个源上工作。因此,我正在尝试正确地安装Maven(与他相同),我们现在都具有相同版本的Maven。但是,我认为maven错误地查看了java_home。

当我执行mvn -version命令时,得到以下信息:

C:\java\KME_workspace\CU-KME>mvn -version

Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)

Maven home: C:\java\tools\apache-maven-3.0.4

Java version: 1.6.0_45, vendor: Sun Microsystems Inc.

Java home: C:\java\jdks\jdk1.6.0_45\jre

Default locale: en_US, platform encoding: Cp1252

OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

我系统的JAVA_HOME变量正确设置为C:\ java \ jdks \ jdk1.6.0_45。

有人知道我的maven正在查看jre,如何正确将其设置回JDK?我也有可能正确地看待问题,因此,如果您有任何想法,那将是很好的。

谢谢。


正如某些人所指出的那样,在Maven版本的Java主页中的JRE参考对我而言是一个红鲱鱼兔子洞。经过进一步测试,我得到了一些有趣的新信息。我直接从命令行运行maven命令。我使用eclipse从svn存储库中签出代码,并尝试在该代码上运行maven包,而.war不能正确构建。但是,如果我在eclipse中进行团队导出到新目录,然后在该目录上运行maven包,则它可以构建.war并能完美运行。据我了解,Eclipse中的团队导出会删除导出目录中的所有Subversion文件。有人对如何解决这个问题有任何想法吗?

回答:

从《Maven属性指南》中:

$ {java.home}指定要获取的当前JRE_HOME环境使用的路径以及相对路径,例如:$ {java.home} ../ bin /

java.exe

java.home属性与JAVA_HOME环境设置不同。它实际上是动态属性,向您显示哪个JRE正在运行您的代码。

尝试正确设置java.home属性,然后查看它是否有效。

以上是 Maven指向JRE而不是JDK 的全部内容, 来源链接: utcz.com/qa/433934.html

回到顶部