在 Java 里提到的 “Module 模块升级”,通常有两种理解场景,我分别说明,你可以对号入座。
这是指 使用 --upgrade-module-path 升级 JDK 自带模块(如 java.base、java.sql 等)。
--upgrade-module-path 指定的模块会 替换 JDK 中的同名模块⚠️ 注意:
java \
--upgrade-module-path /path/to/upgraded-modules \
-m com.example.app/com.example.app.Main
目录结构示例:
upgraded-modules/
└── java.sql/
└── module-info.class
如果你是 Maven / Gradle / 多模块项目,升级的是 模块版本号。
<modules>
<module>user-service</module>
<module>order-service</module>
</modules>
升级版本:
mvn versions:set -DnewVersion=2.0.0
或手动改:
<version>2.0.0</version>
rootProject.version = '2.0.0'
或每个子模块:
version = '2.0.0'
如果你用的是 module-info.java:
module com.example.app {
requires com.example.lib;
}
升级步骤:
module-info.javajavac -d out --module-path lib -m com.example.app
❌ 不能“在线热升级” JPMS 模块
❌ 不能替换 java.base 的核心行为(有限制)
❌ 模块升级 ≠ 热部署(那是 OSGi / Spring Boot DevTools)
为了更精准回答,你可以补充:
我可以直接给你具体命令或示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。