在 CentOS 上“切换 Java 编译版本”通常有两层含义,下面分别说明:
ls /usr/lib/jvm/
或
rpm -qa | grep jdk
CentOS 一般用 alternatives 管理 Java:
sudo alternatives --config java
sudo alternatives --config javac
按提示输入编号即可切换。
验证:
java -version
javac -version
编辑 /etc/profile 或 ~/.bashrc:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
javac -source 1.8 -target 1.8 Hello.java
或(Java 9+):
javac --release 8 Hello.java
在 pom.xml 中:
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
或:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>8</release>
</configuration>
</plugin>
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
alternatives 切JAVA_HOME + 构建工具--release如果你能说明是 系统切换 / Maven / Gradle / Docker 场景,我可以给你更精确的命令。