Когда вы создаете новый проект веб-приложения с помощью подключаемого модуля Google-Eclipse, он создает для вас всю структуру каталогов проекта, включая:
src/
META-INF/
jdoconfig.xml
persistence.xml
war/
WEB-INF/
lib/
web.xml
...etc.
Во-первых, я понял, что META-INF/
предназначен только для служебных JAR-файлов, а не для веб-приложений (WAR). Поэтому появление src/META-INF/*
в проекте застало меня врасплох. Но потом я видел примеры веб-приложений GAE, которые упаковываются следующим образом:
TheWebApp.war/
WEB-INF/
lib/
classes/
META-INF/
web.xml
...
blah.jsp
...etc/
С WEB-INF/classes/META-INF/
! Вдобавок я не вижу никаких упоминаний о проектах GAE и каталоге MANIFEST.MF
, который я всегда вижу в пакете под META-INF
. Теперь я очень запутался.
Поэтому я думаю, что сначала мне нужно подтверждение / разъяснение роли META-INF
и WEB-INF
в целом, затем понять, как их можно использовать вместе в WAR любого веб-приложения, а затем понять любые особенности ( если они существуют), которые GAE размещает в своих структурах WAR.
Примечание. Я не использую Maven и не собираюсь использовать его как минимум в ближайшие 6–12 месяцев (у меня просто нет времени изучать его прямо сейчас). Поэтому, если какие-либо ответы на эти вопросы зависят от того, используете ли вы Buld на основе Maven или нет, я бы предпочел ответы, отличные от Maven, поскольку я использую Ant / Ivy.
Поэтому я спрашиваю:
- Каково нормальное содержимое каталога
META-INF
для служебных (библиотечных) файлов JAR, исполняемых файлов JAR и WAR? Нужен лиMANIFEST.MF
для WAR (как GAE, так и не GAE), почему или почему нет? - Где я должен размещать не веб-ресурсы, чтобы они были доступны для пути к классам среды выполнения? Например, скажем, у меня есть
environment.properties
или _13 _... куда мне их положить? ВWEB-INF/
,WEB-INF/classes
,WEB-INF/classes/META-INF
? Где-нибудь еще? - Каково правильное содержимое каталогов
WEB-INF
иMETA-INF
проекта GAE и как правильно их упаковать?
Заранее спасибо.