温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java Module 如何升级

发布时间:2026-08-31 15:39:43 来源:亿速云 阅读:91 作者:小樊 栏目:编程语言

在 Java 9 引入了 Java Platform Module System(JPMS) 后,“升级 Module”通常指的是 升级模块(Module)的版本或依赖。Java Module 本身没有内置版本号机制,因此升级方式取决于你使用的构建工具和运行环境。

下面按常见场景说明如何升级 Java Module。


一、升级 JDK 自带模块(JDK Module)

JDK 自带的模块(如 java.sqljava.net.http不能单独升级,只能通过升级 JDK 本身 来完成。

示例

java --version

升级 JDK:

  • 下载新版本 JDK(Oracle / OpenJDK / Eclipse Temurin 等)
  • 修改 JAVA_HOME
  • 重新编译运行

这是唯一方式
❌ 不能单独替换 java.base 等模块


二、升级第三方 Module(推荐方式:构建工具)

1️⃣ 使用 Maven 升级 Module

示例:模块 com.google.gson

module-info.java

module com.example.app {
    requires com.google.gson;
}

pom.xml

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10.1</version>
</dependency>

✅ 升级方式:

<version>2.11.0</version>

然后:

mvn clean install

2️⃣ 使用 Gradle 升级 Module

dependencies {
    implementation('com.google.code.gson:gson:2.10.1')
}

升级:

implementation('com.google.code.gson:gson:2.11.0')

三、手动升级 Module JAR(无构建工具)

假设你有一个模块 JAR:

gson-2.10.1.jar

升级步骤

  1. 下载新版本 JAR
    gson-2.11.0.jar
    
  2. 替换旧 JAR
  3. 确保新 JAR 仍然是模块化的(包含 module-info.class 或自动模块)

运行:

java --module-path mods --add-modules com.google.gson -jar app.jar

四、替换或升级自定义 Module

示例目录结构

mods/
 ├── com.example.app
 ├── com.example.service

升级 com.example.service

  1. 修改源码
  2. 重新编译:
javac -d mods/com.example.service \
    --module-path mods \
    src/com.example.service/module-info.java \
    src/com.example.service/com/example/service/*.java
  1. 重新运行:
java --module-path mods -m com.example.app/com.example.app.Main

✅ Java Module 是按目录替换的


五、Module 升级的注意事项(非常重要)

❗ 1. Java Module 没有版本号

module com.example.service { }

❌ 不能写:

module com.example.service@2.0 { } // 错误

➡️ 版本由构建工具管理


❗ 2. 模块路径 ≠ 类路径

场景 是否支持
同一模块不同版本 ❌ 不支持
多版本 JAR ✅(需特殊机制)
替换模块 JAR

❗ 3. 强封装导致升级风险

module com.example.service {
    exports com.example.api;
}

如果新版本:

  • 删除导出包
  • 修改公开 API

➡️ 会导致运行时异常


六、升级 Module 的最佳实践 ✅

✅ 使用 Maven / Gradle 管理版本
✅ 模块边界保持稳定(API 不变)
✅ 不要手动管理 module-path
✅ 升级后执行:

mvn clean verify

✅ 使用 jdeps 检查依赖变化:

jdeps --module-path mods -s app.jar

七、总结一句话

Java Module 本身不升级,升级的是“模块实现(JAR)”;JDK 模块通过升级 JDK 升级,第三方模块通过构建工具升级。

如果你愿意,可以告诉我:

  • 你用的是 Maven / Gradle / 纯 Module
  • 升级的是 JDK 模块 / 第三方库 / 自己写的模块

我可以给你更精确的升级方案

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI