玩转 - java8+

模块化 - demo|idea

2018-11-07  本文已影响0人  球球T爸爸

参考资料

https://blog.jetbrains.com/idea/2017/03/support-for-java-9-modules-in-intellij-idea-2017-1/


代码结构

image.png

代码说明

使用idea创建的基本工程

1、如果使用idea创建maven工程的话,当前在src目录右键是不会出现module-info.java文件选项的
2、是一个项目的两个module;注意不是两个目录;在idea中一个module只能创建个一个module-info.java文件
3、多个模块的包名字不要完全一样;比如都是ab是不可以的;??这块还得探索

代码片段

module00

package ab;
import java.util.logging.Logger;
public class AppModule00 {
    private final static Logger logger = Logger.getLogger("AppModule00");

    public static void main(String[] args) {
        System.out.println("AppModule00");
    }

    public void say() {
        System.out.println("Say AppModule00");
    }
}
module person.jgw.module00 {
    exports ab;
    requires java.logging;
}

module01

package ac;

import java.util.logging.Logger;

public class AppModule01 {
    private final static Logger logger = Logger.getLogger("AppModule01");

    public static void main(String[] args) {
        System.out.println("AppModule01");
    }
}
package ac;

import ab.AppModule00;

import java.util.logging.Logger;

public class TestModule00 {
    private final static Logger logger = Logger.getLogger("TestModule00");

    public static void main(String[] args) {
        AppModule00 appModule00 = new AppModule00();
        appModule00.say();
    }
}
module person.jgw.module01 {
    requires java.logging;
    requires person.jgw.module00;
}

模块化引用参数说明

requires : 当前模块所引入的模块列表;当前模块的代码只能使用引入的模块中包含的类;包括要使用jdk的模块的类也要显示引入
exports : 将自己的模块声明出去;其他的模块才能使用

上一篇下一篇

猜你喜欢

热点阅读