Что такое target/m2e-wtp/web-ресурсы в Deployment Assembly?
1 ответ
Прежде всего, тот факт, что у вас есть эта запись, означает, что ваше Eclipse работает без сбоев. У вас M2Eclipse и m2e-wtp установлены правильно.
M2Eclipse - это проект, который интегрирует Maven в Eclipse. Он предоставляет возможность создавать свой проект непосредственно в Eclipse (и кучу других вещей). m2e-wtp - это подмножество M2E, которое фокусируется на интеграции с Eclipse Web Tools Project, поэтому оно используется вместе с проектами JavaEE.
Когда я говорю "интеграция", это действительно означает, что за кулисами происходит много магии, чтобы все работало гладко. Одним из таких волшебных ингредиентов для m2e-wtp является то, что target/m2e-wtp-web-resources
папка, которая используется при развертывании веб-приложения внутри самого Eclipse. Цитирование из документации:
target/m2e-wtp/web-resources/
папка, содержащая автоматически сгенерированные ресурсы, которые необходимо развернуть на сервере приложений. Эти сгенерированные ресурсы:
pom.properties
а такжеMANIFEST.MF
генерируется плагином mavenarchiver- ресурсы, определенные в
<webResources>
разделmaven-war-plugin
или фильтруетсяweb.xml
target/m2e-wtp/web-resources/
является производным В Eclipse lingo это означает, что будет отображаться предупреждение, если вы попытаетесь вручную отредактировать содержащиеся в нем файлы, поскольку они, скорее всего, будут автоматически переопределены в следующей (инкрементной или нет) сборке проекта.Если вы посмотрите в свой
<project>/.settings/org.eclipse.wst.common.component
файл, вы увидите/target/m2e-wtp/web-resources
определяется ДО обычного каталога war war:<project-modules id="moduleCoreId" project-version="1.5.0"> <wb-module deploy-name="webapp"> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/> <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/> <wb-resource deploy-path="/" source-path="/src/main/webapp"/> <property name="context-root" value="webapp"/> <property name="java-output-path" value="/webapp/target/classes"/> </wb-module> </project-modules>
Обоснование этого порядка заключается в том, что если два файла из двух разных исходных папок сталкиваются, WTP развернет первый найденный файл. Так что, если вы фильтруете
web.xml
сидя подsrc/main/webapp/WEB-INF
, вы хотите, чтобы отфильтрованная версия была развернута на сервере, то естьtarget/m2e-wtp/web-resources/WEB-INF/web.xml
, Если по какой-либо причине вы хотели бы отключить использованиеtarget/m2e-wtp/web-resources/
Ну, знай, что можешь.
Так что, не бойтесь, наличие этой папки на самом деле свидетельствует о том, что с вашей настройкой все в порядке. Если вы удалите эту запись по ошибке, она будет воссоздана при следующем обновлении вашего проекта Maven в Eclipse.