开源项目经常看到 package-info.java 文件,到底有啥用?
2021/9/16 9:04:54
本文主要是介绍开源项目经常看到 package-info.java 文件,到底有啥用?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
来源:https://www.toutiao.com/i6992877750461825544/
一、pacakge-info.java介绍
pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中。pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释。
pacakge-info.java文件中,唯一要求包含的内容是包的声明语句,比如:
/** * 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下面,实现分包自用的理念。
/** * 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领域建模思想构建复杂业务应用系统。"; }
在包内的任意类调用包常量,示例代码如下所示:
public class Test { public static void main(String[] args) { System.out.println(PACKAGE_CONST.COLA); } }
在包外的任意类调用包常量,则会提示报错。
五、提供包级别的注释
使用JavaDoc的时候,通过在package-info.java添加注释,生成JavaDoc实现对应包的注释说明。
/** * 描述: 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文档,如图所示:
近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2021最新版)
2.别在再满屏的 if/ else 了,试试策略模式,真香!!
3.卧槽!Java 中的 xx ≠ null 是什么新语法?
4.Spring Boot 2.5 重磅发布,黑暗模式太炸了!
5.《Java开发手册(嵩山版)》最新发布,速速下载!
觉得不错,别忘了随手点赞+转发哦!
这篇关于开源项目经常看到 package-info.java 文件,到底有啥用?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南