梅文"JAVA_HOME should point to a JDK not a JRE"



我有以下命令可以很好地使用OpenJDK

mvn clean install

然后我卸载了OpenJDK并安装了Oracle JDK 8,现在当我运行mvn clean install

JAVA_HOME环境变量未正确定义此运行此程序需要环境变量NB:JAVA_HOME应该指向JDK而不是JRE

我运行的是Linux Mint 19,我确实遇到了一些与该问题相关的堆栈溢出问题。大多数与Windows有关,有些与Linux有关。建议运行的Linux

sudo update-alternatives --config java

但在我的情况下,我得到

在链接组java中只有一个备选方案(提供//usr/bin/java(:/usr/lib/jvm/java-8-orace/jre/bin/java对配置。

知道如何让mvn clean install再次工作吗?

可能缺少java路径配置。您可以按照以下步骤操作:

  1. 创建或导出JAVA_HOME="JDK目录"。例如"C:\Program Files\Java\jdk1.8.0_65">
  2. 为Path="JDK Bin DIrectory"创建或导出Path变量。例如"C:\Program Files\Java\jdk1.8.0_65\bin">
  3. 从终端运行命令java-version。检查是否正确

然后配置maven。请执行以下步骤:您可以尝试安装maven globaly。如果已配置,则可以跳过这些步骤。仅为进行检查,请运行mvn--version命令以检查maven是否已正确安装。

  1. 从maven下载链接下载maven

  2. 创建或导出M2_HOME="MAVEN ROOT LOCATION"。例如:E:\SoftwareRepo\building tools\apache-maven-3.5.2

  3. 创建MAVEN bin文件夹位置或将其导出到PATH变量。例如:E:\SoftwareRepo\building tools\apache-maven-3.5.2\bin

  4. 打开terminal或cmd并运行mvn--version以确认是否安装了maven。

您可以参考链接来设置JAVA_HOME for Linux-

https://docs.oracle.com/cd/E21454_01/html/821-2532/inst_cli_jdk_javahome_t.html

再次设置Maven

https://maven.apache.org/install.html

检查mvn -v命令是否工作

然后使用mvn执行其他命令。。

谢谢:(

对于mac或ubuntu用户

如果您安装了java 1.7 ,请确保已安装java

echo 'export JAVA_HOME="$(/usr/libexec/java_home -v 1.7 -f)"' >> ~/.bash_profile 

或者java1.8,相应地更改版本。

echo 'export JAVA_HOME="$(/usr/libexec/java_home -v 1.8 -f)"' >> ~/.bash_profile

然后

source ~/.bash_profile

现在检查,

echo $JAVA_HOME 

这应该指向正确的java版本。

我这样做是为了将来我的bc在StackOverflow中所有链接之后,解决方案是检查C:Program FilesMavenapache-maven-3.6.3bin上的mvn.cmd文件。。。

在第52行,它设置了JDK,但没有";CCD_ 7";我的OpenJDK 15存储java.exe

这修复了Windows 11上的问题,但也可以作为检查其他操作系统的一个想法。希望它能有所帮助!

最新更新