天天看點

package-info.java檔案詳解package-info.java檔案詳解

版權聲明:本文為部落客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工具實作這一點。

繼續閱讀