为什么包信息.java有用?附注

2022-08-31 08:13:33

当我在我的Java项目上运行CheckStyle时,它说某些类,但不是全部类。我真的无法弄清楚为什么这个消息只是偶尔出现。此外,我的项目在没有包信息的情况下运行良好.java。Missing package-info.java file.

软件包信息.java有什么作用?我的 Java 项目真的需要它吗?


答案 1

它用于为包生成 javadocs。

/**
* Domain classes used to produce .....
* <p>
* These classes contain the ......
* </p>
*
* @since 1.0
* @author somebody
* @version 1.0
*/
package com.domain;

将为包生成包信息:com.domain

结果示例:https://docs.oracle.com/javase/7/docs/api/java/awt/package-summary.html


答案 2

附注

使用包信息的另一个很好的理由.java是添加默认注释FindBugs使用。例如,如果您将其放在包信息文件中:

@DefaultAnnotation(NonNull.class)
package com.my.package;

然后,当 findbugs 在该包中的代码上运行时,所有方法和字段都假定为非空值,除非您使用 注释它们。这比要求开发人员向每个方法和字段添加注释要好得多,也更万无一失。@CheckForNull@NonNull


推荐