温馨提示×

温馨提示×

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

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

java模块是什么

发布时间:2026-09-19 04:46:14 来源:亿速云 阅读:93 作者:小樊 栏目:编程语言

在 Java 里,**“模块”**通常有两层含义,最常见的是指 Java 9 引入的模块系统(Java Platform Module System,JPMS)。下面分层说明。


一、Java 9 模块系统(JPMS,重点)

1. 什么是 Java 模块

模块(Module) 是一种比“包(package)”更高一级的代码组织方式,用来:

  • 明确声明自己暴露哪些包
  • 明确声明依赖哪些模块
  • 在编译期、运行期做更严格的访问控制

一个模块通常是一个 jar 包 + module-info.java。


2. 模块的描述文件:module-info.java

例子:

module com.example.user {
    requires java.sql;
    exports com.example.user.api;
}

含义:

  • module com.example.user:模块名
  • requires:依赖的其他模块
  • exports:对外公开的包(不导出的包外部不能用)

3. 模块能解决什么问题

  • ✅ 解决 JAR Hell(依赖混乱)
  • ✅ 明确的依赖关系
  • ✅ 更好的封装(默认不公开)
  • ✅ 更小的运行时(jlink 可裁剪 JDK)

4. 常见模块相关命令

java --module-path lib -m com.example.user/com.example.user.Main
javac -d out --module-source-path src src/com.example.user/module-info.java

二、广义上的“Java 模块”(非 JPMS)

在老项目或日常开发中,“模块”也可能指:

1. Maven / Gradle 多模块项目

parent-project
 ├── user-module
 ├── order-module
 └── common-module

这里的“模块”= 一个子项目。

2. 业务模块

如:

  • 用户模块
  • 订单模块
  • 支付模块
    只是逻辑划分,不一定用 JPMS。

三、简单总结

说法 含义
Java 模块(JPMS) Java 9+ 的官方模块系统
Maven 模块 多模块项目中的子工程
业务模块 功能划分

如果你愿意,我可以:

  • 用 一个最小可运行模块示例 演示
  • 或对比 模块 vs 普通 jar
  • 或讲 Spring Boot 是否要用模块

你更想了解哪一种?

向AI问一下细节

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

AI
助
手