在 Ubuntu 下设置 Java 编译路径(通常指 javac 能找到的类和库路径),可以从环境变量、命令行参数、项目结构三个层面来理解。
-cp / -classpath(推荐)编译时指定路径:
javac -cp /path/to/libs/*:. MyClass.java
说明:
-cp 或 -classpath 指定 编译时类路径. 表示当前目录* 表示目录下所有 jar 包(仅 jar,不包括子目录)示例:
javac -cp ./lib/*:./src Main.java
which java
ls /usr/lib/jvm
编辑:
sudo nano ~/.bashrc
添加:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
验证:
java -version
javac -version
export CLASSPATH=.:/path/to/lib/*
⚠️ 不推荐全局设置,会影响所有项目。
目录结构:
src/
├── com/example/Main.java
└── com/example/Util.java
编译:
javac -d out src/com/example/*.java
运行:
java -cp out com.example.Main
mvn compile
gradle build
构建工具会自动管理编译路径。
| 错误 | 原因 | 解决 |
|---|---|---|
package does not exist |
类路径错误 | 用 -cp 指定 |
cannot find symbol |
未编译依赖 | 先编译依赖类 |
javac: command not found |
JDK 未安装 | sudo apt install openjdk-17-jdk |
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。