Ubuntu上安装了jdk,不在管理员模式下运行jar包能运行,在管理员下却显示要安装
Command 'java' not found, but can be installed with:
这是为啥呢
apt install default-jre # version 2:1.11-72, or
apt install openjdk-11-jre-headless # version 11.0.18+10-0ubuntu1~20.04.1
apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.04
apt install openjdk-17-jre-headless # version 17.0.6+10-0ubuntu1~20.04.1
apt install openjdk-8-jre-headless # version 8u362-ga-0ubuntu1~20.04.1
apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.04
如果仍然遇到Command 'java' not found
的错误,可以使用以下命令在Ubuntu上安装Java(如果您尚未安装它):
sudo apt update
sudo apt install default-jre
这将安装Java的默认版本并将它添加到系统路径中。您现在应该能够在管理员模式下正常运行JAR文件。
因为安装在当前用户环境下,如同windows的用户环境变量,系统环境变量中并没有。可以手动将java安装目录配置到系统环境变量中,或者在管理员账号下,重新安装。
手动配置的方法:
vim /etc/profile
export JAVA_HOME=/usr/local/jdk # 你的java安装路径
export JAVA_BIN=$JAVA_HOME/bin # 不用动
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 不用动
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH # 不用动
用Idea生成demo-0.0.1-SNAPSHOT.jar
java -jar demo-0.0.1-SNAPSHOT.jar
# 后台运行
java -jar demo-0.0.1-SNAPSHOT.jar &
# 查看当前终端后台运行的任务
jobs
# 查看当前用户进程
ps -ef|grep java
# 关闭当前后台运行的命令
kill PID
问题分析:
根据问题描述,可以得知在以管理员权限运行jar包时,出现了Command 'java' not found的错误提示。这可能是因为管理员账户没有设置JAVA_HOME和PATH环境变量,导致找不到Java命令。
解决方案:
首先,以管理员身份登录Ubuntu系统。
执行以下命令,检查系统是否已经安装Java:
java -version
如果没有安装Java,可以使用以下命令安装openjdk-8-jdk-headless:
sudo apt-get update
sudo apt-get install openjdk-8-jdk-headless
echo $JAVA_HOME
echo $PATH
如果没有设置,可以按照以下步骤设置:
在/etc/profile文件中添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
然后执行以下命令更新环境变量:
source /etc/profile
在/etc/sudoers文件中添加以下内容(其中,/usr/lib/jvm/java-8-openjdk-amd64是Java的安装路径):
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-openjdk-amd64/bin"
保存后,以管理员身份再次运行jar包即可。
参考资料:
Ubuntu JDK安装和环境变量配置 https://blog.csdn.net/lonely_fireworks/article/details/78130215
sudo命令查找不到java https://www.cnblogs.com/v5145243/p/7903958.html