java_home应该指向jdk,而不是jre+java_home,因为没有正确定义

fhity93d  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(716)

我已经编辑了我的 .bashrc 我的服务器上的文件,带有 sudo nano ~/.bashrc ```
export JAVA_HOME=/usr/bin/java
export PATH=${PATH}:${JAVA_HOME}/bin

我已重新登录,以下是作为输出的所有路径:

root@ubuntu-s-1vcpu-1gb-blr1-01:~/maifee/backend-spring# echo $JAVA_HOME
/usr/bin/java
root@ubuntu-s-1vcpu-1gb-blr1-01:~/maifee/backend-spring# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin/java/bin

但当我尝试运行spring boot服务器时,它会给我:

root@ubuntu-s-1vcpu-1gb-blr1-01:~/maifee/backend-spring# ./mvnw spring-boot:run
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/bin/java/bin/java

当我试着做一个 `mvn install` ,我得到:

root@ubuntu-s-1vcpu-1gb-blr1-01:~/maifee/backend-spring# mvn install
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配置列表:

root@ubuntu-s-1vcpu-1gb-blr1-01:~/maifee/backend-spring# sudo update-alternatives --list java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

当我尝试运行(只是尝试,没有安装依赖项)时,我得到:

root@ubuntu-s-1vcpu-1gb-blr1-01:~/maifee/backend-spring# ./mvnw spring-boot:run
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/bin/java/bin/java

如何设置环境以正确运行spring引导服务器?我直接在那里有源代码,我甚至不需要编译和其他东西。
1mrurvl1

1mrurvl11#

JAVA_HOME 指向java的基本安装目录: /usr/lib/jvm/java-11-openjdk-amd64//usr/bin/java 这可能是与 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 然后在 PATH 附加的变量 $JAVA_HOME/bin 所以它应该是这样的:

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
PATH=$JAVA_HOME/bin:$PATH

仅供参考,update alternatives只负责更改java的符号链接以将其指向不同版本的可执行文件,可以将其视为一个简单的示例 ln -s /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/bin/java

相关问题