gpt4 book ai didi

java - Maven 指向 JRE 而不是 jdk

转载 作者:太空狗 更新时间:2023-10-29 22:44:54 29 4
gpt4 key购买 nike

我一直在与同事一起解决我在刚加入的新项目中遇到的问题。长话短说,maven 没有正确构建我的 .war 文件。当我给我的同事我的 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 存储库中 check out 代码,并尝试在该代码上运行 maven 包,但 .war 构建不正确。但是,如果我在 eclipse 中将团队导出到一个新目录,并在该目录上运行 maven 包,它会很好地构建 .war 并完美运行。据我了解,eclipse 中的团队导出会删除导出目录中的所有颠覆文件。有人对如何解决这个问题有任何想法吗?

最佳答案

来自Maven Properties Guide:

${java.home} specifies the path to the current JRE_HOME environmentuse with relative paths to get for example:${java.home}../bin/java.exe

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

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

关于java - Maven 指向 JRE 而不是 jdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17620531/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com