package.htm与package-info.java的含义

如果浏览GitHub中的Java项目,通常会发现名为package.html的文件,其内容如下:

<HTML>
    <BODY>
        Utils: Helpful things, which shouldn't implement against an Interface.
        <p>
            @since 1.0
    </BODY>
</HTML>

意思很清楚。 该文件描述了应在其中放置哪种类型的Java类。 该语法允许使用多个注释来扩展信息。 另一个很好的效果是,用作占位符,通常是开发人员不知道,它通常是开发人员不知道的。 让我快速解释一下我的意思。 当然,我们是在Java开发的上下文中,并且在启动项目的那一刻,您必须创建目录结构。 当您使用Maven之类的构建工具时,可以通过运行原型来开始您的项目。 如果使用NetBeans等通用IDE,则可以从大量模板中进行选择。 在执行此步骤之后,通常会首先提交到git或Subversion之类的源代码管理系统(SCM)。 但是有一个小问题。 Git不允许您提交空目录。 作为解决方案,许多开发人员创建了名为.keept的隐藏文件。 这种做法很普遍并且已经建立,但是当您创建空包并放置package.htm时,您可以解决两个问题。 首先,Git让您提交目录,并且您已经包括了开发人员文档,该文档包中应包含其内容。

Alt Text

不太常见的是Java 5中引入的package-info.java文件。此文件的用途等同于package.htm –这只是一种较新的方法,也是oracle官方推荐的用于描述软件包的方法。 一些开发人员认为使用Java文件作为API文档是一种滥用,因为它们不包含代码。 可以使用的最大区别是包注释。 另一个论点是,因为Java 9和项目Jigsaw用于模块化,所以在项目的根目录中引入了module-info.java文件。 该文件是整个模块的描述符。 定义了已使用的依赖项,可访问的程序包和其他内容。 我认为这是一种很好的样式,它不会混淆所有内容并使用java文件作为描述符。 我相信新方法会带来更多的灵活性。 例如,您可以在package-info.java中放置编译时注释,而不是放在类中。 这种集中化避免了遗漏注释并减少了重复。

如果您的项目同时包含package.html和package-info.java,则JavaDoc的首选来源将始终是package-info.java。 如果要使用标准类在Eclipse IDE中创建package-info.java文件,则将因Java约定而失败。 要解决此问题,您只需要转到要在其中放置信息文件的包并创建一个新包即可。 您可以将此包命名为package-info.java。

from: https://dev.to//elmardott/the-meaning-of-package-htm-vs-package-info-java-4emi

发布了0 篇原创文章 · 获赞 0 · 访问量 623

猜你喜欢

转载自blog.csdn.net/cunxiedian8614/article/details/105691272