您的位置:首页 >Ubuntu Java编译版本不兼容怎么处理
发布于2026-07-30 阅读(0)
扫一扫,手机访问

ja vac -version
ja va -version
如果版本低于项目要求(比如项目要Ja va 11,系统默认是Ja va 8),那就得安装对应版本并切换默认设置。
sudo apt update
sudo apt install openjdk-8-jdk # 安装Ja va 8
sudo apt install openjdk-11-jdk # 安装Ja va 11
装完后,用ja va -version可以查看所有已安装版本。
update-alternatives工具就能搞定默认版本切换:
sudo update-alternatives --config ja va
sudo update-alternatives --config ja vac
ja va -version和ja vac -version,确认版本已经变了。jenv或sdkman,它们能按项目或终端临时切换,不用每次都改系统设置。
jenv:
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-8-openjdk-amd64
jenv add /usr/lib/jvm/ja va-11-openjdk-amd64
jenv global 11.0.24,当前终端临时切换用jenv shell 8.0.422。sdkman:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install ja va 11.0.11-open
sdk use ja va 11.0.11-open(临时)或sdk default ja va 11.0.11-open(永久)。pom.xml中添加以下属性,指定编译和目标版本:
11
11
build.gradle中添加:
ja va {
sourceCompatibility = Ja vaVersion.VERSION_11
targetCompatibility = Ja vaVersion.VERSION_11
}
Ctrl+Shift+P搜索“Ja va: Configure Ja va Runtime”,选择对应版本。target/、*.class文件),避免旧版本的字节码和新编译器产生冲突:
rm -rf target/ *.class
然后重新编译项目:
ja vac -source 11 -target 11 YourClass.ja va
或者直接用构建工具(如mvn clean compile、gradle build)更省心。
mvn dependency:tree查看依赖树)。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8