温馨提示×

CentOS中Java编译依赖库怎么管理

小樊
42
2025-11-20 04:21:05
栏目: 编程语言

CentOS 中 Java 编译依赖库管理

一 推荐做法 使用构建工具管理依赖

  • 使用构建工具是管理 Java 编译依赖的主流方式,常用工具包括 MavenGradle。它们通过在项目配置文件中声明依赖,自动下载到本地仓库并加入编译 classpath,支持依赖范围、传递依赖与版本统一管理。
  • 安装与快速上手
    • 安装 JDK(编译需要开发包):sudo yum install java-1.8.0-openjdk-devel
    • 安装 Maven:sudo yum install maven
    • 安装 Gradle(SDKMAN 方式,便于多版本管理):
      • curl -s “https://get.sdkman.io” | bash
      • source “$HOME/.sdkman/bin/sdkman-init.sh”
      • sdk install gradle 7.0.2
  • 常用命令
    • 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.23</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
    
  • Gradle 在 build.gradle 中声明依赖,示例:
    dependencies {
      implementation 'mysql:mysql-connector-java:8.0.23'
      testImplementation 'junit:junit:4.12'
    }
    
  • 说明:上述依赖会在编译阶段自动解析并加入 classpath,无需手动拷贝 JAR

三 系统级依赖与离线场景

  • 当项目包含本地库(如 JNI、本地 C/C++ 库)或需要系统库支持时,使用 yum 安装相关开发包,例如:
    • sudo yum install gcc gcc-c++ autoconf libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel glibc-devel openssl-devel
  • 离线环境建议搭建本地或内部 yum 源,将所需 RPM 包同步到内网仓库后,使用 yum 安装或 yum localinstall 进行部署,确保依赖一致性与可重复性。

四 无构建工具时的手动管理

  • 手动下载所需 JAR 文件,放入项目目录(如 lib/),编译与运行通过 -cp 指定类路径:
    • javac -cp “.:lib/*” YourMain.java
    • java -cp “.:lib/*” YourMain
  • 适用场景:小型样例或受限环境;不推荐在中大型项目中使用,维护成本高、易出现版本冲突与传递依赖缺失。

五 Java 9 及以上模块化与多模块项目

  • 使用 Java 模块系统(JPMS) 时,在 src/main/java 下创建 module-info.java,通过 requires 声明模块依赖,结合构建工具进行编译与运行,有助于显式依赖边界与封装。
  • 多模块项目建议使用 MavenGradle 统一管理模块间依赖、版本与发布流程,提升可维护性与构建效率。

0