美文网首页玩转 - java8+
模块化 - demo|idea

模块化 - demo|idea

作者: 球球T爸爸 | 来源:发表于2018-11-07 14:22 被阅读0次

    参考资料

    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 : 将自己的模块声明出去;其他的模块才能使用

    相关文章

      网友评论

        本文标题:模块化 - demo|idea

        本文链接:https://www.haomeiwen.com/subject/tnqvxqtx.html