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