java如何实现模块
Java 模块化实现方法
Java 9 引入了模块系统(JPMS, Java Platform Module System),以下是实现模块化的关键方法:
创建模块描述文件
在项目根目录下创建 module-info.java 文件,定义模块名称和依赖关系:
module com.example.myapp {
requires java.base;
requires java.sql;
exports com.example.myapp.api;
}
模块声明语法
requires:声明对其他模块的依赖exports:公开指定包给其他模块使用opens:允许反射访问特定包provides...with:声明服务提供者uses:声明服务消费者
编译模块化项目
使用 javac 命令编译时指定模块路径:

javac --module-path mods -d out src/module-info.java src/com/example/myapp/*.java
打包模块
创建模块化 JAR 文件:
jar --create --file=myapp.jar --main-class=com.example.myapp.Main -C out .
运行模块化应用
使用 java 命令启动模块:

java --module-path myapp.jar --module com.example.myapp/com.example.myapp.Main
模块化开发注意事项
- 默认情况下,
java.base模块自动被所有模块依赖 - 未声明模块的传统 JAR 文件被视为自动模块(automatic module)
- 模块路径(--module-path)替代了类路径(--class-path)
- 使用
jdeps工具分析现有代码的模块依赖关系
模块化服务示例
定义服务接口:
package com.example.api;
public interface MyService {
void execute();
}
提供服务实现:
module com.example.provider {
requires com.example.api;
provides com.example.api.MyService with com.example.provider.MyServiceImpl;
}
消费服务:
module com.example.client {
requires com.example.api;
uses com.example.api.MyService;
}






