2016-05-10 4 views
0

Мне нужно создать динамическое веб-приложение. И мне нужно создать ушной файл. Я также хочу использовать maven. Каков наилучший способ сделать это в eclipse?Проект динамического веб-приложения уха и maven

Я нашел архетип «maven-archetype-j2ee-simple» (Create complete EAR Project with Maven and Eclipse Helios). Может кто-то сказать мне, что я должен положить в какую папку (контроллеры, test, jsp-sites, java classes) и как я создаю ушной файл.

Если я бегу Maven я получаю ошибки

Child module */site of */pom.xml does not exist 

мне просто нужно удалить <module>site</module> в корневой pom.xml, чтобы избавиться от этой ошибки, но я даже не знаю, что это один делает. И почему этот архетип получил ошибки?

Прошу прощения!

ответ

1

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

Я бы предположил, что вы не используете этот архетип.

Создайте военный проект с maven-archetype-webapp, затем создайте своего собственного родителя и свой собственный проект уха, чтобы упаковать войну.

Родитель будет выглядеть следующим образом:

<modules> 
     <module>poc-war</module> 
     <module>poc-ear</module> 
</modules> 

ПОМ ухо будет иметь зависимость от войны проекта и использовать плагин Maven уха, чтобы генерировать ухо:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
     <modelVersion>4.0.0</modelVersion> 

     <parent> 
       <groupId>net.isban</groupId> 
       <artifactId>poc</artifactId> 
       <version>1.0-SNAPSHOT</version> 
     </parent> 

     <artifactId>poc-ear</artifactId> 
     <packaging>ear</packaging> 

     <description>EAR deployment </description> 
     <name>FMIS EAR</name> 

     <dependencies> 
       <dependency> 
         <groupId>net.isban</groupId> 
         <artifactId>poc-war</artifactId> 
         <version>${project.version}</version> 
         <type>war</type> 
       </dependency> 
     </dependencies> 

     <build> 
       <finalName>${project.artifactId}-${project.version}</finalName> 
       <plugins> 
         <plugin> 
           <artifactId>maven-ear-plugin</artifactId> 
           <version>2.10.1</version> 
           <configuration> 
             <skinnyWars>false</skinnyWars> 
             <filtering>true</filtering> 
             <modules> 
               <webModule> 
                 <groupId>net.isban</groupId> 
                 <artifactId>poc-war</artifactId> 
                 <contextRoot>/poc</contextRoot> 
               </webModule> 
             </modules> 
           </configuration> 
         </plugin> 
       </plugins> 
     </build> 

</project> 
+0

Эй, я создал 2 простых проекта maven. Одна упаковочная помпа и другое ухо. И 1 проект maven-archtype-webapp. Затем я копирую проект уха и проект войны в родительский проект и модифицирую pom.xml. Он работает нормально. Но после копирования pase у webapp projetct нет той же папки, что и библиотеки, Java Resources Javascript Resurces. Итак, я думаю, есть лучший способ сделать это в eclipse? – ReasyEasyPeasy

+0

skinnyWars решает, куда идут все библиотеки, в этом случае он установлен в true, поэтому все барабаны jib находятся в военном файле. Если вы установите значение false, они будут в ухе. Лично мне они нравятся на войне. –

Смежные вопросы