每次我尝试创建一个新的Java项目Eclipse一直询问我是否要将模块信息Java文件添加到源文件夹中。由于没有立即明显的选择退出此检查的选项,这变得非常烦人。
适用于Java开发人员的IDE,Photon版本4.8.0
答案 0 :(得分:3)
在创建新项目时查看,在第一个对话框“ new java project”上单击“ >>”后,将弹出另一个对话框。当您单击>>完成时,它将带您进入第三个对话框,要求创建module-info java文件? &为您提供了两个选择,即创建和不创建。 您选择“不要创建”
这是文件的一些优点 module-info.java的内容 要将jar文件声明为命名模块,需要提供一个module-info.class文件,该文件自然是从module-info.java文件编译而成的。它声明了模块系统内的依赖关系,并允许编译器和运行时管理应用程序中模块之间的边界/访问冲突。让我们看一下文件语法和可以使用的关键字。
module module.name –声明一个名为module.name的模块。 require module.name –指定我们的模块依赖于模块module.name,允许该模块访问目标模块中导出的公共类型。 需要传递的module.name –依赖于此模块的任何模块都会自动依赖module.name。 export pkg.name表示,我们的模块将pkg.name包中的公共成员导出到需要此模块的每个模块。 与上面相同,将pkg.name导出到module.name,但是限制了哪些模块可以使用包pkg.name中的公共成员。 使用class.name使当前模块成为服务class.name的使用者。 向具有class.name.impl的class.name提供注册class.name.impl class的服务,该服务提供class.name服务的实现。 打开pkg.name允许其他模块使用反射来访问包pkg.name的私有成员。 将pkg.name打开到module.name的操作相同,但是限制了哪些模块可以对pkg.name中的私有成员具有反射权限。 module-info.java语法的一大优点是现代IDE将完全支持您编写它们的工作。也许所有这些都能很好地工作,我知道IntelliJ IDEA可以提供内容帮助,当您从不需要的模块中导入类时,可以快速修复模块文件,等等。我毫不怀疑Eclipse IDE和NetBeans IDE是否提供相同的功能。
答案 1 :(得分:2)