CentOS Java编译时依赖如何管理
导读:CentOS 上 Java 编译时依赖管理 一 推荐做法 使用构建工具管理依赖 使用 Maven 或 Gradle 在项目中声明依赖,构建时自动下载、传递依赖并放入编译 classpath。 安装与常用命令示例: 安装工具 Maven...
CentOS 上 Java 编译时依赖管理
一 推荐做法 使用构建工具管理依赖
- 使用 Maven 或 Gradle 在项目中声明依赖,构建时自动下载、传递依赖并放入编译 classpath。
- 安装与常用命令示例:
- 安装工具
- Maven:sudo yum install -y maven
- Gradle:可用 SDKMAN 安装(推荐)或 sudo yum install -y gradle
- 常用命令
- Maven:mvn compile、mvn package、mvn install
- Gradle:gradle build、gradle run
- 安装工具
- 依赖声明示例
- Maven(pom.xml)
< dependencies> < dependency> < groupId> mysql< /groupId> < artifactId> mysql-connector-java< /artifactId> < version> 8.0.33< /version> < /dependency> < dependency> < groupId> junit< /groupId> < artifactId> junit< /artifactId> < version> 4.13.2< /version> < scope> test< /scope> < /dependency> < /dependencies> - Gradle(build.gradle)
dependencies { implementation 'mysql:mysql-connector-java:8.0.33' testImplementation 'junit:junit:4.13.2' }
- Maven(pom.xml)
- 说明:构建工具会自动解析传递依赖、去重,并支持 scope/testImplementation 等编译期与测试期依赖隔离。
二 无构建工具时的手动与系统库管理
- 手动管理 JAR
- 将第三方 JAR 放入项目 lib/,编译与运行通过 -cp 指定类路径(Linux 下分隔符为“:”,Windows 为“; ”)。
- 示例
javac -cp "lib/*:." src/main/java/com/example/App.java java -cp "lib/*:." com.example.App
- 使用系统包管理器安装 JDK 与编译所需工具
- 安装 OpenJDK(开发头文件与工具):sudo yum install -y java-1.8.0-openjdk-devel
- 如需本地编译原生库或处理本地依赖,可补充安装编译工具链:sudo yum install -y gcc gcc-c++ autoconf libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel glibc-devel openssl-devel
- 适用场景:遗留项目、教学示例、极简工具脚本等。
三 离线或受限网络环境的依赖管理
- 内网 YUM 源
- 将所需 RPM 包同步到内网仓库,使用 yum localinstall 或配置内网 repo 进行安装,便于统一管理系统与开发依赖。
- 构建工具离线方案
- Maven:使用 mvn dependency:go-offline 预先下载依赖,或在有网环境构建并将本地仓库(.m2/repository)拷贝到离线环境复用。
- Gradle:使用 –offline 参数离线构建,依赖需提前缓存到本地。
四 实践建议与常见注意点
- 优先选择 Maven/Gradle 管理依赖,避免手工拷贝 JAR 导致版本冲突与难以维护。
- 明确依赖 scope(如 test),避免测试依赖进入生产打包。
- 统一 JDK 版本 与 编码(UTF-8),减少跨平台编译差异。
- 在 CI/CD 中缓存依赖目录(如 ~/.m2 或 ~/.gradle/caches)以加速构建。
- 若使用 Java 9+ 模块系统,可通过 module-info.java 管理模块依赖,并与构建工具配合使用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Java编译时依赖如何管理
本文地址: https://pptw.com/jishu/770716.html
