Ответ 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/).