Skip to content

模块引用

1. 申明attendance模块

  1. 在attendance模块中的src/main/java目录下创建module-info.java文件:
java
module com.rocket.attendance {
}
  1. 创建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模块

  1. 在pom.xml中添加sys工程依赖:
xml
<dependency>
    <groupId>com.rocket.mock</groupId>
    <artifactId>sys</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <scope>compile</scope>
</dependency>
  1. 在module-info.java中使用requires关键字声明模块依赖,一次只能声明一个依赖,如果依赖多个模块,需要多次声明。加上transitive关键词表示传递依赖,比如模块A依赖模块B,模块B传递依赖模块C,那么模块A就会自动依赖模块C。
java
module com.rocket.attendance {
    requires com.rocket.sys; // 添加所需要的模块
}
  1. 在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!");
    }
}
  1. 执行DailyWork类的main方法: Alt text 使用其他模块需要确被该模块已经成功暴露出来。