温馨提示×

温馨提示×

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

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

java模块如何卸载

发布时间:2026-09-19 05:20:15 来源:亿速云 阅读:97 作者:小樊 栏目:编程语言

在 Java 里“模块(Module)”通常指 JPMS(Java Platform Module System,Java 9+)中的 module,而不是传统 jar 包。下面分几种常见情况说明“如何卸载”。


一、运行时卸载模块(不推荐,也不常见)

Java 模块在运行时基本不能单独“卸载”。

  • 模块是在 JVM 启动阶段通过 --module-path 和 --add-modules 加载的
  • 一旦 JVM 启动,模块系统不会提供 API 让你动态卸载某个 module
  • ClassLoader 可以卸载类,但 模块(Module)本身是 JVM 级别的

✅ 实际做法通常是:

  • 停止 JVM
  • 修改启动参数(去掉模块)
  • 重新启动

二、从启动参数中“移除”模块(最常见)

如果你是不想让某个模块生效,应该做的是:

1. 查看当前加载的模块

java --list-modules

2. 修改启动命令

原来是:

java --module-path mods --add-modules com.example.foo -m com.example.foo/Main

改为(不加载该模块):

java --module-path mods -m com.example.bar/Main

或直接不写 --add-modules


三、从 JDK 中“卸载”内置模块(高级)

Java 9+ 可以把 JDK 裁剪成自定义运行时(jlink)。

1. 创建不含某模块的运行时

jlink \
  --no-header-files \
  --no-man-pages \
  --add-modules java.base,java.logging \
  --output myjre

这样 myjre 里根本没有你不需要的模块

✅ 相当于“卸载 JDK 模块”


四、Maven / Gradle 中的“模块依赖”卸载

如果你说的“模块”其实是 依赖模块(jar):

Maven

<dependency>
  <groupId>xxx</groupId>
  <artifactId>yyy</artifactId>
  <version>1.0</version>
  <scope>provided</scope>
</dependency>

或

<exclusions>
  <exclusion>
    <groupId>xxx</groupId>
    <artifactId>yyy</artifactId>
  </exclusion>
</exclusions>

Gradle

implementation('com.xxx:yyy:1.0') {
    exclude group: 'com.zzz', module: 'aaa'
}

五、总结一句话

Java 模块不能像软件一样“卸载”,只能通过:不加载、不打包、或重建运行时来排除。

如果你能具体说:

  • 是 JDK 模块
  • 还是 自己写的 module
  • 还是 Maven/Gradle 依赖

我可以给你更精确的操作步骤。

向AI问一下细节

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

AI
助
手