我正在尝试为我的项目设置maven,我收到此错误
" JAVA_HOME应该指向JDK而不是JRE"
我知道已有类似的问题,但它没有用。如何在Windows中将JAVA_HOME指向JDK。我正在使用IntelliJ IDEA
答案 0 :(得分:37)
答案 1 :(得分:24)
我在Mac OSX上经历了相同的过程。我安装了最新的JDK,然后安装了Maven。有人建议我设置JAVA_HOME变量,所以我将其指向JDK安装文件夹。运行Maven时mvn compile exec:java
我收到了同样的错误NB: JAVA_HOME should point to a JDK not a JRE
。
我所做的只是取消了JAVA_HOME变量并且它有效。
答案 2 :(得分:6)
通过cmd做到这一点 -
echo%JAVA_HOME% set set JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0 echo%JAVA_HOME%
答案 3 :(得分:2)
在Mac OS中,层次结构库> Java> JavaVirtualMachines-(在此文件夹中有不同版本的jdk)选择所需的版本,并且在jdk-version文件夹中有一个内容文件夹,您将在其中找到“主”文件夹 在声明$ JAVA_HOME时,例如,您必须给出该主路径-
(普通的shell命令) 打开终端类型vi .bash_profile (打开文件名bash_profile) 按“ i”启用插入模式 将Java主路径指定为-
ETF_LAR
编辑后按esc退出编辑模式 然后:wq退出并保存
这将删除JAVA_HOME应该指向一个JDK而不是一个JRE错误 并避免将来出现错误
答案 4 :(得分:1)
如果你有 未正确定义JAVA_HOME环境变量 运行此程序需要此环境变量 注意:JAVA_HOME应该指向JDK而不是JRE 错误 做一件事......打字 C:> DIR / X 你会看到PROGRA~1或May~2 和int环境变量之后JAVA_HOME Dir喜欢这个 JAVA_HOME: - C:\ PROGRA~1 \ Java \ jdk1.8.0_144 \ 也设置在路径中: - %JAVA_HOME%\ bin; 它的工作原理
答案 5 :(得分:1)
我遇到了同样的问题。 (Window 10环境) 我通过删除JAVA_HOME =" C:\ Program Files \ Java \ jdk1.8.0_161 \ bin"解决了这个问题。在用户变量中,而不是直接添加到系统变量。
然后我测试编辑JAVA_HOME =" C:\ Program Files \ Java \ jdk1.8.0_161 \"也工作过。 当我运行" mvn -version"在命令提示符窗口中,它显示" Java home:C:\ Program Files \ Java \ jdk1.8.0_161 \ jre"。
总之,我猜JAVA_HOME不应该包含bin目录。
答案 6 :(得分:1)
我花了3个小时来解决错误JAVA_HOME
环境变量未正确定义。要运行此程序,需要此环境变量注意:JAVA_HOME
应该指向JDK而不是JRE
最后我找到了解决方案。请通过JAVA_HOME
按钮/选项设置Browse Directory
值。尝试找到jdk路径。例如:C:\Program Files\Java\jdk1.8.0_181
它将消除分号问题。 :D documentation
答案 7 :(得分:1)
我的JAVA_HOME
设置正确,但我通过Command Prompt
as Administrator
答案 8 :(得分:1)
我在用户变量中添加了JAVA_HOME路径,并省略了“ / bin”。 我尝试了这里给出的所有方法,但只有这种方法对我有用。
答案 9 :(得分:0)
就我而言,当 Java 版本更新时,错误开始出现。所以JAVA_HOME路径失效了。
请检查
(更好的解决方法是设置 java 更新,使其自动升级 JAVA_HOME 引用。)
答案 10 :(得分:0)
作为对其他答案的补充
对于 macOS 用户,您可能有一个 ~/.mavenrc
文件,这是 mvn 命令首先查找 JAVA_HOME 定义的地方。因此,请先检查那里并确保该文件中 JAVA_HOME 指向的目录是正确的。
答案 11 :(得分:0)
对于Mac OS,这对我有用...以上解决方案都不是
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
$ source .bash_profile
答案 12 :(得分:0)
请确保使用正确的路径!
我错误地写了C:\Program Files\Java\
。将其更改为C:\Program Files\Java\jdk\11.0.6\
可解决此问题。
然后在cmd
中用maven
检查mvn -version
的版本。
答案 13 :(得分:0)
首先,确保Maven bin位于您的环境变量PATH条目中。
如果是这样,请确保您的条目没有以某种方式乱序,并且JAVA_HOME在列表中的Path之前,或任何引用%JAVA_HOME%的条目。尝试检查Maven版本时遇到相同的错误。
我还有一些引用%JAVA_HOME%的额外路径变量,或者在两者之间混合了JDK和Maven的不同版本。我将Maven路径条目移到了%JAVA_HOME%的下面,现在当我从cmd使用Maven时一切正常。
但是它是Windows,所以也许我刚刚打开和关闭Environment Variables设置可以使一切变得更好。
答案 14 :(得分:0)
适用于我的Windows 10 Home:
我正在通过粗体课程学习Maven。第一次环境变量还可以。我在JAVA_HOME上的SYSTEM VARIABLE上是这样的:
D:\ Install \ Java \ jdk-12.0.1; D:\ Install \ apache-maven-3.5.4-bin \ apache-maven-3.5.4
几天后,不知道发生了什么,我开始收到:
C:\ Users \ Franco> mvn -version
JAVA_HOME环境变量未正确定义
运行此程序需要此环境变量
注意:JAVA_HOME应该指向JDK而不是JRE
尝试了所有上述操作之后,我尝试删除jdk系统变量上的条目,并将其放在用户变量上,所以现在我有了:
用户变量上的JAVA_HOME:D:\ Install \ Java \ jdk-12.0.1
系统变量上的JAVA_HOME:D:\ Install \ apache-maven-3.5.4-bin \ apache-maven-3.5.4
现在重启我的CMD:
C:\ Users \ Franco> mvn -version
Apache Maven 3.5.4(1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20:33:14 + 02:00)
Maven主页:D:\ Install \ apache-maven-3.5.4-bin \ apache-maven-3.5.4 \ bin ..
Java版本:12.0.1,供应商:Oracle Corporation,运行时:D:\ Install \ Java \ jdk-12.0.1
默认语言环境:en_US,平台编码:Cp1252
操作系统名称:“ windows 10”,版本:“ 10.0”,拱门:“ amd64”,家族:“ windows”
答案 15 :(得分:0)
This worked for me(对于Windows 10,Java 8_144)。
如果路径包含空格,请使用缩短的路径名。例如C:\ Progra〜1 \ Java \ jdk1.8.0_65
答案 16 :(得分:0)
在系统变量下添加以下内容
JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_201
JDK_HOME =%JAVA_HOME%\ bin
M2_HOME = C:\ apache-maven-3.6.0
MAVEN_BIN =%M2_HOME%\ bin
MAVEN_HOME =%M2_HOME%
在路径下添加这些
%M2_HOME%
%JDK_HOME%
答案 17 :(得分:0)
我遇到了这个问题,但对于Mac OS,我将.bash_profile中的JAVA_HOME变量设置为export JAVA_HOME=$(/usr/libexec/java_home)
,然后保存。之后运行source ~/.bash_profile
,最后运行mvn -version
,它解决了该问题。希望有帮助
答案 18 :(得分:0)
除了在{em>如何上添加JAVA_HOME
的{{3}}之外,如果变量在以前工作并且停止工作,请确保路径仍然存在。我最近更新了Java,该Java删除了旧版本,使我的JAVA_HOME
环境变量无效。
答案 19 :(得分:0)
如果已删除,请确保没有JRE路径。
JAVA_HOME
。变量值:C:\Program Files\Java\jdk-10.0.2
(JDK的位置,不带bin)M2
。可变值:C:\dev\maven\apache-maven-3.5.4\bin
(带有bin的maven的位置)M2_HOME
。变量值:C:\dev\maven\apache-maven-3.5.4
(没有bin的Maven的位置)%JAVA_HOME%
和%M2%
或C:\Program Files\Java\jdk-10.0.2
和C:\dev\maven\apache-maven-3.5.4\bin
->对于Windows 10,只需添加位置即可。对于其他版本,在“变量值”字段的末尾添加分号,然后添加位置Ex:;%JAVA_HOME%;%M2%
我没有检查bin的添加或删除是否会改变结果,但这仍然对我有用。
答案 20 :(得分:0)
只需删除JAVA_HOME
变量值末尾的分号。
set JAVA_HOME as C:\Program Files\Java\jdk1.8.0_171
它对我有用。
答案 21 :(得分:0)
在User变量中添加JAVA_HOME = C:\Program Files\Java\jdk(version)
,它适用于我。对我来说,它不适用于bin,即使我在系统变量
JAVA_HOME
答案 22 :(得分:0)
在IntelliJ IDEA中转到File>Project Structure>SDK>JDK home path
。
复制它然后转到
My Computer>Advanced Settings>Environment Variables
将JAVA_HOME路径更改为您复制的路径。
然后打开新的cmd,然后尝试mvn -v
它对我有用!!!
答案 23 :(得分:-1)
假定Java JDK安装在C:\ Windows \ System32中,请将此目录添加到您的 Path 环境变量中,并且该目录应该可以工作