温馨提示×

ubuntu下java编译有何技巧

小樊
36
2026-10-24 23:40:22
栏目: 编程语言

在 Ubuntu 下使用 Java 编译(通常是 javac + java,或结合构建工具),有一些实用技巧和常见坑点可以显著提升效率。下面按使用场景整理:


一、基础编译技巧

1. 确认 Java 环境

java -version
javac -version

如果没装:

sudo apt update
sudo apt install default-jdk

或指定版本:

sudo apt install openjdk-17-jdk

2. 单文件快速编译运行(Java 11+)

Java 11 起支持单文件直接运行:

java Hello.java

无需先 javac,适合学习和小工具。


3. 指定编码(非常重要)

Ubuntu 默认 UTF-8,但 Windows 文件常是 GBK:

javac -encoding UTF-8 Main.java

否则容易:

error: unmappable character

4. 指定输出目录

javac -d out src/*.java

运行时:

java -cp out Main

二、多文件 / 包结构技巧

5. 编译整个目录

find src -name "*.java" > sources.txt
javac -d out @sources.txt

6. 包名与目录一致

src/com/example/Main.java
package com.example;

编译:

javac -d out src/com/example/*.java

运行:

java -cp out com.example.Main

三、依赖管理技巧

7. 使用 classpath

javac -cp lib/foo.jar -d out Main.java
java -cp out:lib/foo.jar Main

⚠️ Linux 用 : 分隔,不是 ;


8. 使用构建工具(推荐)

Maven

mvn compile
mvn package

Gradle

gradle build

适合:

  • 多模块
  • 第三方依赖
  • 自动化构建

四、调试与性能技巧

9. 开启调试信息

javac -g Main.java

10. 查看编译警告

javac -Xlint:all Main.java

11. 使用 javac 预览特性(新语法)

javac --release 21 --enable-preview Main.java
java  --enable-preview Main

五、常见坑点

问题 原因 解决
中文乱码 编码不一致 -encoding UTF-8
找不到类 classpath 错 -cp 正确
版本不兼容 JDK 不匹配 java -version
IDE 能跑,命令行不能 依赖未加 检查 jar

六、进阶建议

  • 学习使用 Makefile / shell 脚本 简化命令
  • 大型项目直接用 Maven / Gradle
  • 用 jcmd、jstack 排查运行问题

如果你有具体场景(如:学生作业 / Spring 项目 / Android / 服务器部署),我可以给你更针对性的 Ubuntu Java 编译方案。

0 踩