为什么javaDoc要求创建名称无效的java文件(package info.java)
我正在使用InteliJ Idea 14。对于javaDocs的使用,我试图创建为什么javaDoc要求创建名称无效的java文件(package info.java),java,intellij-idea,javadoc,intellij-14,Java,Intellij Idea,Javadoc,Intellij 14,我正在使用InteliJ Idea 14。对于javaDocs的使用,我试图创建包info.java(不是一个有效的名称,但这是必需的),但是IDE不允许使用该名称创建新的java文件。它说这不是一个有效的Java限定名 无论如何,我可以创建一个名为“package info.java”的新文件 这样做可以吗?或者还有别的办法吗 为什么javaDoc要求创建一个名称无效的java文件?请参阅文档: 要创建package-info.java文件,请执行以下步骤: 打开项目工具窗口(例如,视图|工具
包info.java
(不是一个有效的名称,但这是必需的),但是IDE不允许使用该名称创建新的java文件。它说这不是一个有效的Java限定名
无论如何,我可以创建一个名为“package info.java”的新文件
这样做可以吗?或者还有别的办法吗
为什么javaDoc要求创建一个名称无效的java文件?请参阅文档:
要创建package-info.java文件,请执行以下步骤:
- 选择
文件
|
新建
|
包信息.java
- 从关联菜单中选择
|New
package info.java
- 按
并选择Alt+Insert
package info.java
- 选择
文件
|
新建
|
包信息.java
- 从关联菜单中选择
|New
package info.java
- 按
并选择Alt+Insert
package info.java
是 啊我当时就是这么做的。谢谢你的提示。但是为什么呢?为什么javaDoc要求创建一个名称无效的java文件?@prime,因为这样可以保证它不会与类名冲突。请参阅Java语言规范:唯一带注释的
package
声明(如果存在)放在包含包源文件的目录中名为package info.Java
的源文件中。此文件不包含名为package info.java的类的源代码;事实上,它这样做是违法的,因为包信息
不是合法的标识符。是的。我当时就是这么做的。谢谢你的提示。但是为什么呢?为什么javaDoc要求创建一个名称无效的java文件?@prime,因为这样可以保证它不会与类名冲突。请参阅Java语言规范:唯一带注释的package
声明(如果存在)放在包含包源文件的目录中名为package info.Java
的源文件中。此文件不包含名为package info.java的类的源代码;事实上,它这样做是违法的,因为包裹信息
不是一个合法的标识符。你的意思是更新Intelij Idea?但为什么投票被否决?如果有人能给你一个理由,也许是因为你在问之前没有研究过你的问题,你会感激的。如果您想真正理解为什么一种语言具有这样的特性,首先要看的是该语言的规范。这适用于任何PL,而不仅仅是Java。在这种情况下,JLS准确地解释了为什么它是这样设计的。链接的dup问答回答了您所有的问题。“可以吗?”、“有其他选择吗?”和“为什么?”。(对“为什么”的回答是阅读JLS中的基本原理…使用顶部答案提供的链接,这对您很有帮助。)@StephenC that package.html的问题不是问同样的问题,答案也不是这个问题的直接答案。您应该在这里发布一个答案,其中包含关于package-info.java的JLS“7.4.1.Named Packages”脚注的链接和副本,而不是将其标记为副本。此外,在未来,您可以考虑任何问题,可以通过阅读规范回答是一个问题,要求指出有关位置的规格。筛选手册很难,尤其是对新手。如果你知道在哪里可以找到一些东西,请帮忙指出。你的意思是更新Intelij的想法吗?但为什么投票被否决?如果有人能给你一个理由,也许是因为你在问之前没有研究过你的问题,你会感激的。如果您想真正理解为什么一种语言具有这样的特性,首先要看的是该语言的规范。这适用于任何PL,而不仅仅是Java。在这种情况下,JLS准确地解释了为什么它是这样设计的。链接的dup问答回答了您所有的问题。“可以吗?”、“有其他选择吗?”和“为什么?”。(对“为什么”的回答是阅读JLS中的基本原理…使用顶部答案提供的链接,这对您很有帮助。)@StephenC that package.html的问题不是问同样的问题,答案也不是这个问题的直接答案。您应该在这里发布一个答案,其中包含关于package-info.java的JLS“7.4.1.Named Packages”脚注的链接和副本,而不是将其标记为副本。此外,在未来,您可以考虑任何问题,可以通过阅读规范回答是一个问题,要求指出有关位置的规格。筛选手册很难,尤其是对新手。如果你知道在哪里可以找到什么东西,请帮忙指出。