我最近下载了Maven,并按照此this页面上的说明进行操作。我已经在我的机器上安装了ant。现在,如果我想验证Maven是否安装完好,它会给我一个JAVA_HOME设置不正确的错误,但同样适用于ANT。
For Maven I tried :
1. open cmd
2. type mvn -version
3. Error appeared :
C:\Users\Admin>mvn -version
ERROR: JAVA_HOME is set to an invalid directory.
JAVA_HOME = "C:\Program Files\Java\jre7\bin"
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation
For ANT I tried and worked :
1. open cmd
2. type mvn -version
3. Apache Ant(TM) version 1.9.1 compiled on May 15 2013
我去了目录检查java.exe实际上是否存在于该目录中,它就在那里。我检查了他们设置好的环境变量。我重新启动系统并再次检查但同样的问题。请让我知道我错过了什么。
JAVA_HOME应该指向jdk目录而不是jre目录。另外JAVA_HOME应该指向home jdk目录而不是jdk / bin目录。
假设您在程序文件目录中安装了JDK,那么您需要像这样设置JAVA_HOME:
JAVA_HOME="C:\Program Files\Java\jdkxxx"
xxx是jdk版本
点击此链接了解有关设置JAVA_HOME的更多信息:
http://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html
不要在您的JAVA_HOME env变量中包含bin
如果你在java home的路径中有空格,请记住在路径中添加引号。 C:\ Program Files \ java \ javaxxx \不起作用,但“C:\ Program Files \ java \ javaxxx \”可以。
JAVA_HOME = C:\ Program Files \ Java \ jdk(JDK版本号)
示例:C:\ Program Files \ Java \ jdk-10
然后重启命令提示符它可以工作。
如果你要编译东西,JAVA_HOME应该指向JDK主页而不是JRE主页 - 同样 - 我会尝试将JDK安装在不包含空格的目录中。即使现在不是你的问题,也可能在将来引起问题!
您将JAVA_HOME指向JRE,这是Java运行时环境。运行时环境的bin文件夹中没有java编译器。您应该下载JDK,它是Java Development Kit。安装完成后,您可以在bin文件夹中看到有一个名为javac.exe的文件。那是你的编译器。