解决IDEA JDK9没有module-info.java的问题
目录
- IDEA JDK9没有module-info.java问题
- module-info.java文件
IDEA JDK9没有module-info.java问题
1. 创建一个maven工程
2. 配置一下项目的编译环境
注意:必须声明为jdk9及其以后的版本,不然new中是没有module-info.java这个选项
下面是使用jdk8的时候,没有module-info.java这个选项
使用jdk10的时候,就有module-info.java这个选项
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>10</source> <target>10</target> </configuration> </plugin> </plugins> </build>
3. 一些注意事项
新建 module-info.java 文件必须选择 java这个文件夹,也就是存放java代码的源文件夹,选择其他文件夹右键是没有的
自己不能手动通过 new JavaClass 创建 module-info.java 文件,自己是没法创建的,因为Java变量定义规范是:字母、数字、下划线,$符号,下面是创建失败的截图
虽然IDEA不让创建,但是我们可以自己在外面创建好一个module-info.java 文件,再复制到 java 文件夹下(不建议)
module-info.java文件
提供模块服务接口:
module module.first { exports first.p1; // provides first.p1.Shoe // with first.p2.DoubleStar,first.p2.Warrior; provides first.p1.Shoe with first.p1.ShoeFactory;//必须实现public static provider方法 }
使用模块服务接口:
module module.second { requires module.first; uses first.p1.Shoe; }
下面演示访问权限
open module module.first { //module module.first { exports first.p1; //opens first.p1; }
module module.second { exports second.p1; requires transitive module.first; }
module module.third { requires module.second; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
赞 (0)