前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源项目中经常看到package-info.java文件,你知道其作用吗?

开源项目中经常看到package-info.java文件,你知道其作用吗?

作者头像
IT大咖说
发布2021-09-08 12:29:42
5.6K0
发布2021-09-08 12:29:42
举报
文章被收录于专栏:IT大咖说

◆ 一、pacakge-info.java介绍

pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中。pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释。

pacakge-info.java文件中,唯一要求包含的内容是包的声明语句,比如:

代码语言:javascript
复制
/**
* This is domain module, the core business logic is implemented here.
*
*/
package com.rickie.tracking.domain;

在Java 5之前,包级的文档是package.html,是通过JavaDoc生成的。而在Java 5以上版本,包的描述以及相关的文档都可以写入pacakge-info.java文件,它也用于JavaDoc的生成。

◆ 二、使用IDEA生成JavaDoc文档

在IDEA中,选择Tools/Generate JavaDoc…菜单项,如图所示:

在Generate JavaDoc窗口,输入相关设置。

第一步:选择生成JavaDoc文档的范围,下图中,我们可以选择Module模块。

第二步:输出目录最好新建一个文件夹,比较有条理和整洁。

第三步:区域(Locale)设置,决定文档的语言,简体中文就是zh_CN、繁体(台湾)zh_tw、繁体(香港)zh-hk、英语(香港)en-hk、英语(美国)en-us、英语(英国)en-gb、英语(全球)en-ww。

设置完成后点击【OK】按钮即可生成Doc文档。找到输出目录,然后打开 index.html 便能看生成的文档。

查看类的文档,如图所示:

◆ 三、创建package-info文件

package-info文件不能随便被创建,会报“This is not a valid Java qualified name”错误,类名无效,Java变量定义规范是:字母、数字、下划线,还有那个不怎么常用的$符号,这个中划线可不在之列,那怎么创建这个文件呢?

可以创建一个普通的文件,如图所示,文件名为package-info.java。或者更直接的办法就是从别的项目中拷贝过来一个。

◆ 四、提供包级别的变量

如果想在包里面使用对应的变量,而不想让其他包使用,就可以将变量放到package-info.java下面,实现分包自用的理念。

代码语言:javascript
复制
/**
* This is domain module, the core business logic is implemented here.
*
*/
package com.rickie.tracking.domain;

/**
* 包常量
*/
class PACKAGE_CONST{
 public static final String COLA="《COLA 4.x架构入门和项目实践》技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。";
}

在包内的任意类调用包常量,示例代码如下所示:

代码语言:javascript
复制
public class Test {
 public static void main(String[] args) {
 System.out.println(PACKAGE_CONST.COLA);
 }
}

在包外的任意类调用包常量,则会提示报错。

◆ 五、提供包级别的注释

使用JavaDoc的时候,通过在package-info.java添加注释,生成JavaDoc实现对应包的注释说明。

代码语言:javascript
复制
/**
* 描述: COLA 领域模块<br>
* This is domain module, the core business logic is implemented here. <br>
* 创建时间: 2021/8/1 12:00 <br>
* @version v1.0
*/
package com.rickie.tracking.domain;

/**
* 包常量
*/
class PACKAGE_CONST{
 public static final String COLA="《COLA 4.x架构入门和项目实践》技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。";
}

生成对应的JavaDoc文档,如图所示:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ◆ 一、pacakge-info.java介绍
  • ◆ 二、使用IDEA生成JavaDoc文档
  • ◆ 三、创建package-info文件
  • ◆ 四、提供包级别的变量
  • ◆ 五、提供包级别的注释
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档