Мультимодульный проект Maven2 с WTP - PullRequest
6 голосов
/ 28 мая 2009

Мне трудно сделать так, чтобы мой мультимодульный проект Maven2 с глубокой структурой проекта выглядел как одно ухо (с его зависимостями - включая 1 войну, 2 ejbs и 1 jar) для развертывания в моем Сервер JBOSS 5 внутри моего Eclipse Ganymede (вкладка Серверы).

Я пытался использовать плагин Maven Eclipse, чтобы превратить мои проекты в проект WTP без успеха. Поэтому они, по-видимому, развернуты на сервере и представлены в виде отдельных проектов.

Мой проект содержит 1 войну, 2 ejbs и 1 банку, которые должны быть упакованы в ухо, каждый из «подпроектов» представляет собой отдельный модуль.

Pom.xml проекта (типа pom):

...

<modules>
   <module>ejb1</module>
   <module>ejb2</module>
   <module>war</module>
   <module>jar</module>
   <module>ear</module>
</modules>

...

Ушной модуль отвечает только за упаковку других модулей.

Есть ли способ сообщить затмению (ганимеду), что все эти проекты (ejbs, war и jar) находятся внутри модуля ear, чтобы я мог развернуть ear на сервере?

Ответы [ 4 ]

2 голосов
/ 28 мая 2009

попробуйте m2eclipse (google it) и установите инструмент интеграции WTP, создайте проект с помощью мастера maven, измените тип на pom в редакторе pom xml, создайте подмодули из pom и добавьте его как child, если это веб-проект, он получает поведение WTP, т.е. его можно развернуть в контейнере j2ee (jboss / tomcat), добавить dep в веб-модуль для модуля ejb в веб-pom и т.д., развернуть веб-приложение в контейнере

2 голосов
/ 27 августа 2009

Установка m2eclipse с дополнительной конфигурацией WTP работала для меня. Я также добавил следующее в родительский pom, чтобы обеспечить правильную природу и строители в файлах eclipse

Это дает файлы затмений .project, которые готовы для m2eclipse. затем я могу обновить файлы проекта, используя m2eclipse, что позволяет оперативно развертывать веб-приложение и его зависимости

<build>
  ...
        <plugin>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.5.1</version>
      <!--
      Eclipse project natures: http: //vikashazrati.wordpress.com/2007/12/22/adding-project-nature-to-your-maven-pomxml/
      Maven-eclipse-plugin: http: //maven.apache.org/plugins/maven-eclipse-plugin/
      -->
      <configuration>
      <additionalProjectnatures>
      <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
      <projectnature>org.eclipse.jem.workbench.JavaEMFNature</projectnature>
      <projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
      <projectnature>org.eclipse.wst.common.project.facet.core.nature</projectnature>
      <projectnature>org.eclipse.jdt.core.javanature</projectnature>
      <projectnature>org.eclipse.wst.jsdt.core.jsNature</projectnature>
      <projectnature>org.maven.ide.eclipse.maven2Nature</projectnature>
      </additionalProjectnatures>
      <buildcommands>
       <buildcommand>org.eclipse.wst.jsdt.core.javascriptValidator</buildcommand>
       <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
       <buildcommand>org.eclipse.wst.common.project.facet.core.builder</buildcommand>
       <buildcommand>org.eclipse.wst.validation.validationbuilder</buildcommand>
       <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
          <buildcommand>org.maven.ide.eclipse.maven2Builder</buildcommand>

      </buildcommands>
      </configuration>

  </plugin>
2 голосов
/ 28 мая 2009

Что вы хотите сделать, так это чтобы maven создал проекты eclipse через mvn eclipse: eclipse Это может быть полезно.

1 голос
/ 17 ноября 2009

используйте -Dwtpversion = 2.0 параметр maven или в командной строке mvn -Dwtpversion = 2.0 в проекте Super Pom. Я использую плагин m2eclipse, но есть некоторые проблемы для многомодульного проекта. Я использую плагин m2eclipse для управления зависимостями. Если я хочу очистить, установить и т. Д. Весь проект с супер пом, я делаю это в командной строке. Также свойства проекта должны проверяться в затмении. Грани проекта, зависимости модуля Java EE должны проверяться. Вы также можете экспортировать в ear проект, но будьте осторожны, чтобы проверить, что модули maven скомпилированы после изменения.

...