如何添加包级别注释或编辑 package-info.java?
Posted
技术标签:
【中文标题】如何添加包级别注释或编辑 package-info.java?【英文标题】:How do I add package level annotations or edit package-info.java? 【发布时间】:2012-01-14 09:00:21 【问题描述】:我正在尝试添加包级别的注释,但我不知道如何去做。示例表示赞赏。
【问题讨论】:
【参考方案1】:在日食中
由于 package-info.java 不是类的有效标识符,因此无法在 Eclipse 中将其创建为类。
我发现当你创建一个新包时,有一个复选框来检查你是否需要一个 package-info.java。
在现有包中创建 package-info.java 文件:
-
右键单击需要 package-info.java 的包。
选择新建->包。
选中创建 package-info.java 复选框。
点击完成。
【讨论】:
这在我的 Eclipse 版本 (3.7.2) 中不起作用 - 此解决方案需要哪个版本? 我有 Juno,版本 4.2.0。 要将这样的文件添加到现有包中,我在项目资源管理器中右键单击该包 → 新建 → 其他 → 文件并手动将其命名为 package-info.java。不过,我总是忘记确切地调用文件以及添加哪些注释,所以我很想阅读一种更优雅的方式。【参考方案2】:摘自文章here
在 package-info.java 中:
@PackageLevelAnnotation
package blammy; // package with a package level annotation.
import blammy.annotation.PackageLevelAnnotation;
在 PackageLevelAnnotation.java 中
package blammy.annotation;
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.PACKAGE)
public @interface PackageLevelAnnotation
// stuff as required.
编辑:更多包级别信息。 这是 Java 语言规范中包章节的链接:packages
【讨论】:
package-info.java 在哪里?它是提供的还是某处提供的,还是我必须创建它?如果是这样,我需要在哪里创建这个文件。谢谢。 在我上面的例子中,文件 package-info.java 应该在 blammy 包中(即 blammy 源目录)。 是的,每个包裹一个。在另一个信息链接的答案中查看编辑 @DwB - 我在这里有一个相关的问题:***.com/q/34980398/1735836 用什么代替// stuff as required.
?我需要一个关于傻瓜的解释。
对于复制和粘贴,如果您希望在编译之外可见,请将 @Retention
更改为 RetentionPolicy.RUNTIME
。【参考方案3】:
package-info.java
package-info.java
是一个 Java 文件,可以添加到任何 Java 源包中。它的目的是为包级文档和包级注释提供一个主页。
只需创建package-info.java
文件。在文件中添加包声明。事实上,package-info.java 文件中唯一必须包含的就是包声明。
最小包信息文件示例:
package com.example.myapp.backend.data;
包级注释示例,@ParametersAreNonnullByDefault
:
@ParametersAreNonnullByDefault
package com.example.myapp.backend.data;
import javax.annotation.ParametersAreNonnullByDefault;
有关详细信息,请参阅The Java® Language Specification, section 7.4.1 Named Packages 中的Java specifications。
【讨论】:
【参考方案4】:打开资源管理器,转到 src/你的包文件夹。 右键单击-> 创建新文本文件:将其命名为 package-info.java。
返回 eclipse 并编辑并添加所需的内容。
【讨论】:
以上是关于如何添加包级别注释或编辑 package-info.java?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Hibernate 会忽略 package-info.java?
需要从绑定文件中生成 package-info.java 中的 JAXB 注释