版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/45727249
package-info.java檔案詳解
作者:chszs,轉載需注明。部落格首頁: http://blog.csdn.net/chszs
一、pacakge-info.java介紹
pacakge-info.java是一個Java檔案,可以添加到任何的Java源碼包中。pacakge-info.java的目标是提供一個包級的文檔說明或者是包級的注釋。
pacakge-info.java檔案中,唯一要求包含的内容是包的聲明語句,比如:
package com.ch.service;
二、封包檔
在Java 5之前,包級的文檔是package.html,是通過JavaDoc生成的。而在Java 5以上版本,包的描述以及相關的文檔都可以寫入pacakge-info.java檔案,它也用于JavaDoc的生成。比如:
/**
* dev1.ch包描述<br>
* 基于Apache DbUtils庫封裝的工具庫,簡化開發
* @author Li Qiang<br>
* date: 2015.5.13
* @since 1.7
* @version 1.0
*
*/
package dev1.ch;
上面的說明通過JavaDoc生成如下:
點選dev1.ch程式包的連結後顯示:
三、包注釋
注釋對于程式員來說非常重要,pacakge-info.java檔案包含了包級的注釋。我們還可以使用ElementType來自定義注釋。
包注釋當然是ElementType.PACKAGE了,除此之外,還有:
- ElementType.TYPE (class, interface, enum)
- ElementType.FIELD (instance variable)
- ElementType.METHOD ElementType.PARAMETER
- ElementType.CONSTRUCTOR
- ElementType.LOCAL_VARIABLE
- ElementType.ANNOTATION_TYPE (應用于另一個注解上)
比如,想讓包中的所有類型過時(Deprecate),你可以注釋每一個單獨的類型(類、接口、枚舉等),如下所示:
@DEPRECATED
PUBLIC CLASS CONTACT {
}
或者是可以在package-info.java包聲明檔案中使用@Deprecated注釋,它可以讓包中的一切均過時。
@Deprecated
package dev1.ch.domain;
四、把package-info.java添加到包中
可以手動在包目錄下建立package-info.java檔案,也可以通過Eclipse工具實作這一點。