Подтвердить что ты не робот

Что такое MANIFEST.MF в WAR/JAR/EAR?

Мне известно использование файла MANIFEST в мобильном приложении, но я не знаю об использовании его в Java-приложении.

Мое предположение, например, используется, чтобы сохранить только информацию BUILD. Правильно ли я?

Является ли это обязательным? Если нет, то каковы основные преимущества, которые мы можем извлечь из этого?

4b9b3361

Ответ 1

manifest.mf содержит атрибуты артефакта. Одним из наиболее известных является, например, основной класс jar, который используется для запуска файла jar, когда не задан другой класс. Синтаксис:

Main-Class: classname

Другими целями являются, например, уплотнение упаковки и управление версиями пакетов. Ознакомьтесь с учебным курсом java об этом: http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

манифест в банке обычно содержит гораздо меньше информации, чем, например, AndroidManifest.xml. Он довольно легкий и не содержит информацию о сборке или упаковке.

Это потому, что у java нет хорошей модульной системы. Таким образом, банка не является модулем, который может потребовать много информации о конфигурации (например, список модулей, к которым он имеет зависимости). Вместо этого, банка - это просто куча классов с некоторой информацией о конфигурации. Будем надеяться, что это будет исправлено головоломкой проекта (http://openjdk.java.net/projects/jigsaw/).