温馨提示×

centos java编译版本如何切换

小樊
42
2026-09-06 10:35:44
栏目: 编程语言

在 CentOS 上“切换 Java 编译版本”通常有两层含义,下面分别说明:


一、系统级切换(java / javac 命令版本)

1. 查看已安装的 Java

ls /usr/lib/jvm/

或

rpm -qa | grep jdk

2. 使用 alternatives 切换(推荐)

CentOS 一般用 alternatives 管理 Java:

sudo alternatives --config java
sudo alternatives --config javac

按提示输入编号即可切换。

验证:

java -version
javac -version

3. 手动设置环境变量(全局或用户)

编辑 /etc/profile 或 ~/.bashrc:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

生效:

source /etc/profile

二、编译时指定 Java 版本(不改系统)

1. 使用 javac 指定版本

javac -source 1.8 -target 1.8 Hello.java

或(Java 9+):

javac --release 8 Hello.java

2. Maven 项目切换编译版本

在 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>

3. Gradle 项目

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

三、常见场景建议

  • 只跑程序:用 alternatives 切
  • 多项目不同 JDK:用 JAVA_HOME + 构建工具
  • 编译低版本兼容:用 --release

如果你能说明是 系统切换 / Maven / Gradle / Docker 场景,我可以给你更精确的命令。

0 踩