TGViewer
Java Guru 🤓 Java Guru 🤓 @javatasks · 13.1K subscribers
Post #3707 1.12K
Зачем нужен package-info?

Обычно, чтобы создать новый пакет, вы создаете папку с соответствующим названием, и во всех ее .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.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 4
More from @javatasks
  1. Oct 13, 2026Post #3928
  2. Oct 13, 2026Post #3927
  3. Oct 13, 2026👩‍💻 Spring Boot под нагрузкой: почему сервис работает локально и падает в production При…
  4. Oct 13, 2026Post #3925
  5. Oct 13, 2026Post #3924
  6. Oct 13, 2026Post #3923
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →