как построить динамический веб-проект Eclipse в Гудзоне - PullRequest
2 голосов
/ 24 октября 2011

Я довольно успешно использую maven проекты в Хадсоне. Однако на этот раз мне нужно создать динамический веб-проект Eclipse, который обычно создается в Eclipse, а затем война экспортируется в производство. Как я могу построить этот проект в Гудзоне.

Заранее спасибо!

1 Ответ

4 голосов
/ 24 октября 2011

Если вы знакомы с Maven, я предлагаю вам использовать плагин m2e-wtp - так вы можете использовать как Maven, так и WTP для своего веб-приложения.Это должно быть где-то в каталоге m2e («Окно»> «Настройки»> «Maven»), теперь, когда m2e перешел в Eclipse Foundation, отметьте Проекты Maven / Tomcat в Eclipse Indigo / 3.7 , чтобы узнать больше.

  • Хадсон / Дженкинс просто создаст его как обычный проект Maven, без дополнительной настройки.
  • Eclipse в основном продолжит использовать свои собственные инструменты с некоторым промежуточным Maven, но самое главное, он получит любые зависимости от Maven.и поместите их в путь сборки

Если у вас уже есть динамический веб-проект в Eclipse, вам, вероятно, придется перемещаться по куче папок, чтобы расположить их в структуре, ожидаемой Maven:

src/
    main/
        java/        -- your Java source files (servlets, actions, ...)
        resources/   -- your resource files (struts.xml, log4j.xml, NOT web.xml)
        webapp/      -- your web root (previously WTP's WebContent/)
            WEB-INF/ -- your WEB-INFt (web.xml)
    test/
        java/        -- your Java test cases
        resources/   -- your test resource files
pom.xml

Установите <packaging> на war, чтобы Maven знал, что он должен поместить ваши зависимости в WEB-INF/lib/ и построить WAR.

Что касается зависимостей, вам, вероятно, понадобитсяServlet API:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version><!-- change version as needed -->
  <scope>provided</scope><!-- Mind the scope!-->
</dependency>

Обратите внимание на область действия provided. Спецификация Servlet запрещает веб-приложениям использовать собственный JAR Servlet API вместе с WEB-INF/lib исоответствующие веб-контейнеры в этом случае откажутся загружать ваше веб-приложение (они сами предоставят JAR в поддерживаемой ими версии).

Вероятно, лучше всего начать с щелчка правой кнопкой мыши на Dynamic Web Project и перейти в Maven.> Преобразовать в проект Maven, затем переместить папки, как показано выше, а затем пройти через все предупреждения, которые плагины m2e и m2e-wtp бросают вам (большинство предлагают быстрое исправление).

...