java 9模块的命名约定

Jas*_*Yeo 2 java-platform-module-system java-9 java-module

什么是Java 9模块的命名约定?假设我的包名是me.jasonyeo.awesome.project,并且每当我module-info.java在IDEA中创建文件时,它都会建议我命名它awesome.project

这是惯例吗?或者我应该说出来me.jasonyeo.awesome.project吗?

Hol*_*ger 8

看来,IDEA的建议是基于Java的内置模块有两个组件,例如java.base或者java.desktop,但这并不能为第三方模块提供好的建议.

JLS§6.1,声明说:

模块的名称应与其主要导出包的名称相对应.如果模块没有这样的包,或者由于遗留原因,它必须具有与其导出的包之一不对应的名称,那么其名称仍应以其作者所使用的互联网域的反转形式开头.相关.

例6.1-2.独特的模块名称

com.nighthacks.scrabble
org.openjdk.compiler
net.jcip.annotations
Run Code Online (Sandbox Code Playgroud)

您可以使用示例直接链接更快地找到引用的部分

所以你的假设是正确的,推荐的模块名称me.jasonyeo.awesome.project不是awesome.project.

  • @nullpointer好了,问题现在联系起来了.我犹豫是否要创建另一个相同的答案,宁愿等待Stackoverflow合并问题.(虽然老实说,我不知道这种情况何时以及在何种情况下实际发生.) (2认同)