Java编译Ubuntu依赖如何解决
1. 安装Ja va开发工具包(JDK) 要编译Ja va代码,第一步当然是确保系统里装好了JDK。在Ubuntu上,最省心的办法是用APT安装OpenJDK,比如直接装OpenJDK 17——新版本够稳定,也够主流。 sudo apt update sudo apt install openjdk
1. 安装Ja va开发工具包(JDK)
要编译Ja va代码,第一步当然是确保系统里装好了JDK。在Ubuntu上,最省心的办法是用APT安装OpenJDK,比如直接装OpenJDK 17——新版本够稳定,也够主流。
sudo apt update
sudo apt install openjdk-17-jdk
装完之后,别急着走,先验证一下刀是否磨好了:
ja vac -version # 看看编译器版本
ja va -version # 看看运行时版本
如果你需要其他版本,比如一些老项目还在用Ja va 11,只要把命令里的17换成11就行。
2. 解决依赖库缺失问题
编译时最常遇到的报错,就是提示缺了某个.jar或者本地头文件(比如libfoo-dev)。说白了,系统不认识那些依赖,你得帮它补齐。
- 装系统级依赖库:用APT安装开发包就行。比如你要用OpenCV,就装
build-essential、cmake和libopencv-dev:
sudo apt install build-essential cmake libopencv-dev
- 指定依赖路径:如果依赖是第三方的
.jar文件,编译时用-cp(或-classpath)告诉ja vac到哪去找。比如:
ja vac -cp "/path/to/library1.jar:/path/to/library2.jar" YourClass.ja va
运行的时候也得带着同样的路径:
ja va -cp ".:/path/to/library1.jar:/path/to/library2.jar" YourClass
3. 配置Ja va环境变量
为了让系统始终知道JDK安在哪,必须配好JA VA_HOME,并确保PATH里包含了JDK的bin目录。编辑~/.bashrc(或者~/.profile),加上这么几行(以OpenJDK 17为例):
export JA VA_HOME=/usr/lib/jvm/ja va-17-openjdk-amd64
# 路径不确定的话,用 `update-alternatives --config ja va` 查一下
export PATH=$JA VA_HOME/bin:$PATH
保存之后,记得执行source ~/.bashrc让新配置生效。这一步千万别跳过,很多新手在这栽跟头。
4. 使用构建工具管理依赖(推荐)
如果项目稍微复杂一点,手动维护依赖简直是噩梦。行业里早就用上了Ma ven或Gradle,它们能自动下载、管理依赖,你只需声明清楚想要的库。
- Ma ven:在项目根目录创建
pom.xml,定义一个依赖(比如JUnit):
4.0.0
com.example
my-app
1.0-SNAPSHOT
junit
junit
4.13.2
test
然后执行mvn compile,Ma ven会自己下载依赖并编译。
- Gradle:创建
build.gradle,写法更简洁:
plugins {
id 'ja va'
}
repositories {
ma venCentral()
}
dependencies {
testImplementation 'junit:junit:4.13.2'
}
之后运行gradle build,一步到位。
5. 处理权限问题
偶尔会遇到编译或运行时提示“权限不足”,比如无法读取源文件或写入.class文件。这时候可以调整文件权限:
sudo chmod -R 777 /path/to/your/project # 赋予读写执行权限(生产环境慎用,建议更精细的权限设置)
或者临时用sudo执行编译命令:
sudo ja vac YourClass.ja va
不过要注意,sudo用得多了容易导致文件所有权混乱。最好的办法是先把项目目录的权限调对,而不是每次都靠sudo来解决。
6. 清理与重建项目
如果编译时出现奇奇怪怪的报错,很可能是因为残留的旧.class文件在搞鬼。删掉它们再重新编译,往往能解决问题:
find . -name "*.class" -delete # 删除所有.class文件
ja vac *.ja va # 重新编译
对于Ma ven项目,用mvn clean compile;Gradle项目则是gradle clean build。养成“清理”的习惯,能省下不少排查时间。
7. 检查Ja va版本兼容性
项目要求的Ja va版本和实际安装的JDK版本不匹配,也是常见翻车点。比如项目指明要Ja va 11,你装的却是Ja va 17,那就需要切换版本:
sudo update-alternatives --config ja va # 列出所有Ja va版本,选择对应的11版本
sudo update-alternatives --config ja vac # 同步更新ja vac版本
切换完别忘了再次验证版本号,确认一致后再继续干活。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















