在 CentOS 系统中设置 Java 编译参数,通常需要区分 javac 编译参数、运行参数 以及 如何在构建工具中配置。下面按常见场景详细说明。
javac 编译时设置参数javac -source 1.8 -target 1.8 -encoding UTF-8 -d out src/Hello.java
| 参数 | 说明 |
|---|---|
-source |
指定源码版本 |
-target |
指定生成 class 的 JVM 版本 |
-encoding |
指定源码编码 |
-d |
指定编译输出目录 |
-cp / -classpath |
指定依赖 classpath |
-g |
生成调试信息 |
-deprecation |
显示过时 API 警告 |
-Xlint |
开启更多编译检查 |
✅ 推荐写法(Java 9+)
javac --release 8 -encoding UTF-8 -d out src/Hello.java
JAVA_HOMEsudo vi /etc/profile
添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
验证:
java -version
javac -version
pom.xml 中配置 maven-compiler-plugin<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
✅ Java 9+ 推荐方式:
<release>8</release>
完整示例:
<configuration>
<release>8</release>
<encoding>UTF-8</encoding>
</configuration>
build.gradletasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
或(推荐)
java {
toolchain {
languageVersion = JavaLanguageVersion.of(8)
}
}
java -Xms512m -Xmx1024m -XX:+UseG1GC -jar app.jar
常用:
-Xms:初始堆-Xmx:最大堆-XX:+PrintGCDetails:GC 日志java -version
alternatives --config java
切换 Java 版本:
sudo alternatives --config java
yum install java-1.8.0-openjdk-devel
-source / -target✅ 使用:
javac --release 11
| 场景 | 设置方式 |
|---|---|
| 手动 javac | javac -encoding UTF-8 --release 8 |
| Maven | maven-compiler-plugin |
| Gradle | JavaCompile 或 toolchain |
| 环境变量 | JAVA_HOME |
| JVM 参数 | java -Xmx... |
如果你能提供 具体场景(如 Maven / Spring Boot / Docker / Jenkins),我可以给你更精确的配置示例。