Maven Java 主页配置
Maven Java home configuration
我安装了 JDK 并设置了 Maven。 mvn -version i get
returns的调用:
The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE
$JAVA_HOME
变量在系统变量中设置为C:\Program Files\Java\jdk1.8.0_131\bin
。
调用 %JAVA_HOME%
returns 路径 C:\Program Files\Java\jdk1.8.0_131\bin
。
问题出在哪里?
如您在 documentation 中所见,JAVA_HOME
变量必须指向 java 安装路径,而不是 bin
文件夹。
改为C:\Program Files\Java\jdk1.8.0_131
问题是关于 Windows 但我来这里是为了解决 Ubuntu 上的问题。
我遇到了类似的问题。我在 /etc/environment
中配置了 $JAVA_HOME
像 $JAVA_HOME=PATH_TO_JDK
例如 $JAVA_HOME=/home/max/jdk1.8.0_144
小心
- 白色space路径声明后
$JAVA_HOME=/home/max/jdk1.8.0_144[[_NO_WHITE_SPACE_AFTER_DECLARATION]]
- 不要放任何双撇号
$JAVA_HOME="/home/max/jdk1.8.0_144"
- 不要放 /bin 例如
$JAVA_HOME=/home/max/jdk1.8.0_144/bin
<- 这是错误的
是的,最初的问题是关于纯 windows,但是对于那些来到这里想知道 windows linux 子系统 WSL 的人来说,我偶然发现了试图设置我的胜利的东西WSL,使用 windows java 打开 jdk 二进制文件。虽然有一段时间我放弃了这个想法。使用 'sudo apt install ...' 安装 jdk,然后从安装路径设置 WSL java 主页:
root@mypc://# java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0+deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
root@mypc://# which java
/usr/bin/java
root@mypc://# realpath /usr/bin/java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
改用你的真实路径。
root@mypc://# export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
root@mypc://# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T15:06:16Z)
Maven home: /mnt/c/javaDir/mvn/apache-maven-3.6.2
Java version: 1.8.0_265, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-43-microsoft", arch: "amd64", family: "unix"
添加 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 到 ~/.bash_profile 因为每次 linux 子系统都会设置吃午饭了。
我安装了 JDK 并设置了 Maven。 mvn -version i get
returns的调用:
The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE
$JAVA_HOME
变量在系统变量中设置为C:\Program Files\Java\jdk1.8.0_131\bin
。
调用 %JAVA_HOME%
returns 路径 C:\Program Files\Java\jdk1.8.0_131\bin
。
问题出在哪里?
如您在 documentation 中所见,JAVA_HOME
变量必须指向 java 安装路径,而不是 bin
文件夹。
改为C:\Program Files\Java\jdk1.8.0_131
问题是关于 Windows 但我来这里是为了解决 Ubuntu 上的问题。
我遇到了类似的问题。我在 /etc/environment
中配置了 $JAVA_HOME
像 $JAVA_HOME=PATH_TO_JDK
例如 $JAVA_HOME=/home/max/jdk1.8.0_144
小心
- 白色space路径声明后
$JAVA_HOME=/home/max/jdk1.8.0_144[[_NO_WHITE_SPACE_AFTER_DECLARATION]]
- 不要放任何双撇号
$JAVA_HOME="/home/max/jdk1.8.0_144"
- 不要放 /bin 例如
$JAVA_HOME=/home/max/jdk1.8.0_144/bin
<- 这是错误的
是的,最初的问题是关于纯 windows,但是对于那些来到这里想知道 windows linux 子系统 WSL 的人来说,我偶然发现了试图设置我的胜利的东西WSL,使用 windows java 打开 jdk 二进制文件。虽然有一段时间我放弃了这个想法。使用 'sudo apt install ...' 安装 jdk,然后从安装路径设置 WSL java 主页:
root@mypc://# java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0+deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
root@mypc://# which java
/usr/bin/java
root@mypc://# realpath /usr/bin/java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
改用你的真实路径。
root@mypc://# export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
root@mypc://# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T15:06:16Z)
Maven home: /mnt/c/javaDir/mvn/apache-maven-3.6.2
Java version: 1.8.0_265, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-43-microsoft", arch: "amd64", family: "unix"
添加 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 到 ~/.bash_profile 因为每次 linux 子系统都会设置吃午饭了。