一、从混沌到秩序:模块化的现实意义
Java 9引入的模块化系统(JPMS)绝非纸上谈兵,而是解决实际工程痛点的利器。假设你正在维护一个包含200+个JAR包的大型系统,是否经历过:
- 类路径污染导致的诡异NoClassDefFoundError
- 无意中调用了内部API却浑然不知
- 依赖关系混乱如意大利面条代码
- 应用启动时加载数千个未使用的类
这些正是module-info.java要解决的现实问题。通过强封装和显式依赖,我们可以构建更安全、更高效的Java应用。
二、快速创建你的第一个模块
src
├── com.order.service
│ ├── com
│ │ └── order
│ │ └── service
│ │ └── OrderService.java
│ └── module-info.java
└── com.order.application
├── com
│ └── order
│ └── application
│ └── Main.java
└── module-info.java
模块声明示例:
// com.order.service模块
module com.order.service {
requires transitive java.sql; // 传递依赖
exports com.order.service.api;
opens com.order.service.internal; // 允许反射访问
}
// com.order.application模块
module com.order.application {
requires com.order.service; // 显式声明依赖
requires jdk.httpserver

最低0.47元/天 解锁文章
1185

被折叠的 条评论
为什么被折叠?



