php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 644|回复: 0

解决IDEA JDK9没有module-info.java的问题

[复制链接]

2871

主题

2881

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7283
贡献
0
注册时间
2021-4-14
最后登录
2024-9-19
在线时间
715 小时
QQ
发表于 2022-1-23 13:22:50 | 显示全部楼层 |阅读模式
IDEA JDK9没有module-info.java问题
1. 创建一个maven工程

2. 配置一下项目的编译环境

注意:必须声明为jdk9及其以后的版本,不然new中是没有module-info.java这个选项

下面是使用jdk8的时候,没有module-info.java这个选项

image.png
使用jdk10的时候,就有module-info.java这个选项
[mw_shl_code=applescript,true]<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>
[/mw_shl_code]
image.png
3. 一些注意事项

新建 module-info.java 文件必须选择 java这个文件夹,也就是存放java代码的源文件夹,选择其他文件夹右键是没有的

自己不能手动通过 new JavaClass 创建 module-info.java 文件,自己是没法创建的,因为Java变量定义规范是:字母、数字、下划线,$符号,下面是创建失败的截图
image.png
image.png
虽然IDEA不让创建,但是我们可以自己在外面创建好一个module-info.java 文件,再复制到 java 文件夹下(不建议)


module-info.java文件
提供模块服务接口:
[mw_shl_code=applescript,true]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方法
}[/mw_shl_code]
使用模块服务接口:

[mw_shl_code=applescript,true]module module.second {    
    requires module.first;    
    uses first.p1.Shoe;
}[/mw_shl_code]
下面演示访问权限

[mw_shl_code=applescript,true]open module module.first {
//module module.first {
    exports first.p1;    
    //opens first.p1;
}[/mw_shl_code]
[mw_shl_code=applescript,true]module module.second {
    exports second.p1;
    requires transitive module.first; 
}[/mw_shl_code]
[mw_shl_code=applescript,true]module module.third {
    requires module.second;
}[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-9-20 06:00 , Processed in 0.305268 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表