模块引用
1. 申明attendance模块
- 在attendance模块中的src/main/java目录下创建module-info.java文件:
java
module com.rocket.attendance {
}
- 创建DailyWork.java文件:
java
package com.rocket.attendance;
import com.rocket.sys.UserInfo;
public class DailyWork {
public static void main(String[] args) {
System.out.println("hello!");
}
}
2. 使用sys模块
- 在pom.xml中添加sys工程依赖:
xml
<dependency>
<groupId>com.rocket.mock</groupId>
<artifactId>sys</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
- 在module-info.java中使用
requires
关键字声明模块依赖,一次只能声明一个依赖,如果依赖多个模块,需要多次声明。加上transitive
关键词表示传递依赖,比如模块A依赖模块B,模块B传递依赖模块C,那么模块A就会自动依赖模块C。
java
module com.rocket.attendance {
requires com.rocket.sys; // 添加所需要的模块
}
- 在DailyWork.java中使用UserInfo类:
java
package com.rocket.attendance;
import com.rocket.sys.UserInfo;
public class DailyWork {
public static void main(String[] args) {
UserInfo userInfo = new UserInfo();
userInfo.login();
System.out.println("hello!");
}
}
- 执行DailyWork类的main方法:
使用其他模块需要确被该模块已经成功暴露出来。