您的位置:首页 >Ubuntu Java配置常见问题
发布于2026-04-24 阅读(0)
扫一扫,手机访问

在Ubuntu上配置Ja va环境,说简单也简单,说麻烦也真能遇到不少“坑”。别担心,下面这份清单帮你把常见问题一网打尽,从基础检查到疑难杂症,按图索骥就能搞定。
动手之前,先搞清楚几个基本概念。运行Ja va程序只需要JRE,但如果你要编译代码、使用开发工具,那就必须安装JDK。怎么检查?终端里敲两行命令就知道了:
ja va -version,编译与开发则需要 ja vac -version。如果后者报错,那大概率是只装了JRE。which ja va 和 readlink -f $(which ja va),确认路径是否来自你期望的 /usr/lib/jvm/ 目录。sudo update-alternatives --config ja va 看看当前谁在“当家”。同样,别忘了为编译器也检查一下:sudo update-alternatives --config ja vac。/usr/lib/jvm 目录下有什么,命令 ls /usr/lib/jvm。常见的路径格式类似 ja va-11-openjdk-amd64。sudo apt update,然后安装所需版本,比如 sudo apt install openjdk-11-jdk。环境变量是问题的重灾区,配置不对,后面全白费。记住一个关键点:JA VA_HOME 指向的是JDK的根目录,不要带 /bin。
export JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64
export PATH=$JA VA_HOME/bin:$PATH
~/.bashrc 或 ~/.profile。/etc/environment。注意,这个文件里直接写 JA VA_HOME=/usr/lib/jvm/... 就行,不要加 export。改完后记得执行 source /etc/environment 让它生效。source ~/.bashrc 或 source ~/.profile 让改动立即生效。系统级的同理。echo $JA VA_HOME、ja va -version、ja vac -version,三者的输出应该一致,并且都指向你期望的版本。开发中经常需要切换不同版本的Ja va,掌握下面两种方法,就能游刃有余。
update-alternatives 是首选。运行 sudo update-alternatives --config ja va,按提示选择默认版本。如果编译器也需要切换,同样为 ja vac 执行一遍配置。sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-17-openjdk-amd64/bin/ja va 100
sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/lib/jvm/ja va-17-openjdk-amd64/bin/ja vac 100
后面的数字100是优先级,数字越大优先级越高。git clone https://github.com/jenv/jenv.git ~/.jenv
echo ‘export PATH=“$HOME/.jenv/bin:$PATH”’ >> ~/.bashrc
echo ‘eval “$(jenv init -)”’ >> ~/.bashrc
source ~/.bashrc
jenv add /usr/lib/jvm/ja va-11-openjdk-amd64
jenv global 11.0
遇到报错别慌,对照下面这些常见情况,基本都能找到解决方案。
sudo apt install openjdk-11-jdk(换成你需要的版本),然后务必检查PATH是否包含了 $JA VA_HOME/bin。-jdk 包,例如 openjdk-11-jdk,并确认 update-alternatives --config ja vac 指向了正确的JDK。update-alternatives --config ja va 和 --config ja vac 将它们统一到同一个版本。同时,检查并确保 JA VA_HOME 也指向这个统一的JDK目录。JA VA_HOME 错误地指向了JRE路径,或者JDK内部文件(如tools.jar)缺失。确保 JA VA_HOME 指向的是JDK的根目录(不带 /bin)。如果问题依旧,尝试重新安装完整的JDK。chmod -R 755 项目目录 来调整,或者确保以正确的用户身份运行程序。安全起见,尽量避免使用 777 权限。uname -m 查看系统架构,确认下载和安装的JDK包(通常是amd64)与之匹配。当Ja va跑在服务或者被构建工具调用时,配置又有一些特别的讲究。
/etc/environment 或systemd自己的环境文件(如 /etc/default/tomcat9)中读取。务必在这些地方设置好正确的 JA VA_HOME。sudo systemctl start tomcat9 启动,然后用浏览器访问 http://localhost:8080 验证。mvn -v 或 gradle --version,检查它们使用的Ja va版本是否正确。如果不一致,要么调整全局的 JA VA_HOME,要么在Ma ven的 settings.xml 或Gradle的 gradle.properties 中显式指定Ja va路径。~/.bashrc 或 ~/.profile 里设置,灵活且不影响他人。/etc/environment 中设置。这样可以确保所有用户和服务获取到统一的环境变量,避免因登录Shell不同而导致的不一致问题。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9