2012-06-21 3 views
19

Мне известно использование файла MANIFEST в мобильном приложении, но я не знаю об использовании его в Java-приложении.Что такое MANIFEST.MF в WAR/JAR/EAR?

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

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

+0

, например, вы можете использовать его для управления версиями, как описано здесь: http://www.jcabi.com/jcabi-manifests/versioning.html – yegor256

ответ

19

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

Main-Class: classname 

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

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

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

+0

Прямо сейчас Мой файл манифеста похож на «Манифест-Версия: 1.0» , Тем не менее моя заявка преуспевает. –

+0

Конечно, mainfest не нужен. Он просто может нести дополнительную информацию о банке. – gexicide

+0

Я хотел бы провести сравнение здесь. Как и в приложении для мобильных приложений, приложение не будет работать без него, но это не так с Jar и т. Д., Почему? –

Смежные вопросы