Linux环境Java配置实用技巧
sudo apt install openjdk-11-jdk,CentOS/RHEL用sudo yum install java-11-openjdk-devel)。这种方式能确保获得官方支持的版本,且系统更新时会自动包含安全补丁,避免手动下载解压的麻烦。tar -zxvf jdk-17.0.9+9-linux-x64.tar.gz -C /usr/local/java解压到指定目录(如/usr/local/java),再配置环境变量。JAVA_HOME:指向JDK安装根目录(如/usr/lib/jvm/java-11-openjdk-amd64或/usr/local/java/jdk-17.0.9+9),是其他工具(如Maven、Tomcat)识别Java路径的关键。PATH:添加$JAVA_HOME/bin到系统路径,使java、javac等命令全局可用(如export PATH=$JAVA_HOME/bin:$PATH)。CLASSPATH(现代Java项目通常不需要,若需手动指定可设为.,表示当前目录)。~/.bashrc(推荐,每次开终端自动加载),用source ~/.bashrc使修改生效。/etc/environment(需sudo权限),变量格式为JAVA_HOME="..."、PATH="$PATH:$JAVA_HOME/bin",用source /etc/environment生效。sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 300(300为优先级,数值越大越优先)将版本注册到系统,再用sudo update-alternatives --config java交互式选择默认版本。~/.bashrc中添加函数,简化切换流程。例如:function switch_java() {
version=$1
case $version in
11) export JAVA_HOME=/data/jdk/java11 ;;
17) export JAVA_HOME=/data/jdk/java17 ;;
*) echo "Usage: switch_java [11|17]"; return 1 ;;
esac
export PATH=$JAVA_HOME/bin:$PATH
echo "Switched to Java $version"
java -version
}
使用switch_java 11即可切换到Java 11,switch_java 17切换到Java 17。java -version(显示Java版本)、javac -version(显示编译器版本),确认命令能正常执行。echo $JAVA_HOME查看路径是否正确,which java确认命令指向的路径是否为$JAVA_HOME/bin/java。$JAVA_HOME/bin,或未执行source命令使配置生效。update-alternatives --config java重新选择默认版本,或调整自定义脚本中的优先级。~/.bashrc),并执行source命令;若仍无效,尝试重启终端或系统。sudo修改系统级配置文件(如/etc/profile、/etc/environment),避免普通用户误操作导致系统Java环境破坏。/opt/Program Files),建议使用纯英文路径(如/usr/local/java),防止命令解析错误。cp /etc/profile /etc/profile.bak备份原文件,便于恢复。nohup或systemd管理进程,例如创建start.sh脚本:#!/bin/sh
JOB_PATH=/usr/local/api/test.jar
nohup java -Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -jar $JOB_PATH > /data/applogs/log.file 2>&1 &
echo "Application started with PID $!"
用chmod +x start.sh赋予执行权限,通过./start.sh启动应用。