2014-08-31 2 views
0

Мы используем распорки 1.3 в нашем приложении. По моим сведениям, основная цель MANIFEST.MF - указать имя класса, которое содержит основной метод. Я вижу файл MANIFEST.MF в каталоге META-INF, но он не показывает эту информацию. Тогда в чем его польза?Назначение MANIFEST.MF в распорках 1.3

Manifest-Version: 1.0 
Class-Path: 

ответ

1

На этот вопрос, Тим Холлоуэй пишет:

Спецификация класса путь для использования при выполнении Java-приложений с помощью Java "-jar" команды. Это не относится к webapps (WARs).

две причины для этого:

  1. В отличие от приложений, которые обычно включают в себя только их, содержащий JAR в пути к классам, WebApps имеют назначенное место для библиотек класса (WEB-INF/классы и WEB-INF/lib).

  2. Войны должны быть автономными. То есть нет ссылок на JAR или каталоги классов, внешние по отношению к структуре каталогов самой WAR. Так как уже есть выделенное место для внутреннего использования, это лучше (и более безопасно), чтобы использовать это вместо того, чтобы позволить людям разбрызгивать ресурсы кода в любом старом месте.

В тех случаях, когда есть какая-то причина, почему библиотека не представляется возможным в стандартном месте, ваши варианты в основном, чтобы положить его в путь к классам контейнера, как это имеет место для таких вещей, как в JDBC драйверов, или может добавить в WAR специальный пользовательский менеджер классов.


Примечания

  1. Holloway, Тим.Tomcat и MANIFEST.MF Класс-путь раздел, http://www.coderanch.com/t/522178/Tomcat/Tomcat-MANIFEST-MF-Class-Path
Смежные вопросы