解决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)

相关推荐

  • JAVA module-info.java文件详解

    目录 JAVA module-info.java文件 Java9 module-info.java什么意思 JAVA module-info.java文件 Java9 module-info.java module 本模块的名称{ exports 对外暴露的包路径; requires 需要依赖的其他模块名称; } module-info.java不是类,不是接口,是一些模块描述信息.module也不是关键字. exports 对外暴露的包路径; 有些包你想要其他模块访问,有些包你不想要其他模块访

  • 基于module-info.class的问题

    目录 module-info.class问题 Tomcat报错module-info.class module-info.class问题 1.module-info.class是个什么?干什么? 2.看名字module-info,即模块信息,自然想到是管理模块信息的.jdk9特性里的,在解压软件中直接干掉呗,试试没报错ok就行 3.pom文件导入 asm等配置后启动报错         <dependency>             <groupId>asm</groupI

  • Pytorch 解决自定义子Module .cuda() tensor失败的问题

    最近在刚从tensorflow转入pytorch,对于自定义的nn.Module 碰到了个问题,即使把模组 modle=Model().cuda(),里面的子Module的parameter都没有被放入cuda,导致输入是torch.cuda.FloatTensor,但是比如CNN的weight却还是torch.FloatTensor (当然最粗暴的方法就是直接在子模组里面都用了 .cuda() 但是问题并不在那,可能是调用子模组的时候,存在某些错误,导致父模组没有把子模组的parameter注

  • IntelliJ IDEA配置java环境及解决IDEA不能直接运行单个JAVA文件的问题

    写Java代码选择IEDA的原因是我之前用的Pycharm写python,而IEDA和pycharm几乎一模一样的用法,而且IEDE可以写Java,Python等很多语言,只要安装了对应的插件:File->Settings->Plugins->Browse respositories- 安装IntelliJ IDEA 1.上官网下载IntelliJ IDEA 2.安装 下载jdk和jre JRE: Java Runtime Environment JDK:Java Development

  • 快速解决VS Code报错:Java 11 or more recent is required to run. Please download and install a recent JDK

    VS Code确实不是最好的Java编译器(好吧,它或许都不该算是个编译器),在使用的过程完全依赖咱们自己写一些配置或者使用一些插件,但是因为它外观好看,我还是比较喜欢用这个.哪怕遇到的问题比别的编译器多得多.排查错误原因的过程中也能学到不少东西. 近期遇到这个问题,每次打开VS Code的时候,右下角会弹出一个弹框,上面写着: Java 11 or more recent is required to run. Please download and install a recent JDK.

  • 永久解决 Intellij idea 报错:Error :java 不支持发行版本5的问题

    初次在IDEA使用maven的时候遇到的问题 搜索之后得到解决方案 idea 报错:Error : java 不支持发行版本5 实际测试后该博主提供的方法可以解决. 但是每次创建新项目的时候都要设置一次. 这里提供一个 一劳永逸的方法 在 maven地址\conf\setting.xml 中设置默认jdk版本- 把图中代码添加到-中 我使用的是jdk11 复制代码时需要修改成自己的jkd版本 例如jkd8 code: <profile> <id>development</id

  • 解决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> <plugi

  • 完美解决java.lang.OutOfMemoryError处理错误的问题

    原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 3.代码中存在死循环或循环产生过多重复的对象实体: 4.使用的第三方软件中的BUG: 5.启动参数内存值设定的过小: 常见错误提示: 1.tomcat:java.lang.OutOfMemoryError: PermGen space 2.tomcat:java.lang.OutOfMemoryError: Java heap space 3

  • Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法

    Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法 一直用Eclipse开发Java,突然有这么一天,无法启动了,splash窗口显示"Failed to create the Java Virtual Machine" 修改eclipse.ini配置文件,找到下面的片段: --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --lau

  • Android Studio启动报错Java 1.8 or later is required的解决方法

    错误描述 在公司电脑上运行Android Studio 2.2已经有一段时间了,但是自己的笔记本上还是用的Android Studio 1.5,今天晚上下了一个Android Studio 2.2压缩包,解压后启动Android Studio 2.2就报错了,错误如下所示: Unsupported Java Version : Cannot start under Java 1.7.0_04-b22 : Java 1.8 or later is required. 分析错误 查看当前电脑的Jav

  • java.lang.OutOfMemoryError 错误整理及解决办法

    java.lang.OutOfMemoryError处理错误 java.lang.OutOfMemoryError异常解决方法 原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 3.代码中存在死循环或循环产生过多重复的对象实体: 4.使用的第三方软件中的BUG: 5.启动参数内存值设定的过小: 常见错误提示: 1.tomcat:java.lang.OutOfMemoryError: Perm

  • Java使用访问者模式解决公司层级结构图问题详解

    本文实例讲述了Java使用访问者模式解决公司层级结构图问题.分享给大家供大家参考,具体如下: 一. 模式定义 访问者模式:是表示一个作用于某对象结构中各个元素的操作,它使用户可以在不改变各元素类的前提下定义作用于这些元素的新操作. 二. 模式举例 1 模式分析 我们借用公司层级结构来说明这一模式. 2 访问者模式静态类图 3 代码示例 3.1 抽象员工一Staff package com.demo.structure; import com.demo.visitor.IVisitor; /**

随机推荐