.java
файлах добавляете в начале строчку с названием пакета, вида package full.dir.path;
. Этого вполне достаточно для работы.Однако, дополнительно вы можете добавить в пакет его объявление – файл
package-info.java
. Несмотря на то, что это .java-файл, это не объявление класса. В названии класса дефисы запрещены, так что неоднозначности не возникнет. Минимальное содержимое файла
package-info.java
– всё та же строка package full.dir.path;
. Такой файл не несет практической пользы. Есть две вещи, которые можно в него добавить, чтобы польза появилась.Первое – документация пакета. Javadoc-комментарий будет использоваться генератором документации. Пример – описание пакета java.lang. Его исходник вы можете найти в файле
java/lang/package-info.java
.Второе возможное применение – аннотации уровня пакета. Для этого аннотация должна иметь Target
PACKAGE
. Например, некоторые пакеты Spring Framework помечены аннотацией @NonNullApi
.Подробно объявления пакетов описаны в главе 7.4.1 спецификации.