generate create java eclipse jsf maven deployment

java - create - Eclipse+Maven+Dynamic Web Project-> Maven sobrescribe el conjunto de implementación



maven web project eclipse (1)

Recomendaría pasar a Eclipse 3.7.x (Indigo), que tiene mejor soporte para m2e , y también le permite utilizar la integración de Maven para WTP (instalación por separado), lo que debería facilitar mucho las cosas. Supongo que la mayoría de sus problemas deberían resolverse actualizándose a Indigo.

Instalar enlace: http://marketplace.eclipse.org/node/96737

Vea también aquí: Proyectos de Maven / Tomcat en Eclipse Indigo / 3.7

Editar Poner sus recursos web en WebContent y luego agregarlos como un directorio en el complemento WAR puede ser una solución. La forma limpia sería tenerlos bajo src/main/resources o src/main/webapp y deberían incluirse automáticamente en el archivo WAR. WebContent no es uno de los directorios estándar de Maven.

Resumen

En Eclipse, cuando "Maven-> Actualizar configuración del proyecto" "Dependencias de Maven" se elimina de la "Asamblea de implementación" de mi proyecto.

Detalles

Comencé con un proyecto de Eclipse preconfigurado: Archivo-> Nuevo-> Proyecto web dinámico-> Proyecto JavaServer Face v2.0. Para eliminar la "magia", luego la convertí en un proyecto de Maven: Configurar-> Convertir a proyecto de Maven.

pom.xml contiene lo siguiente:

<build> <finalName>jsf-facelets-tutorial</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webXml>WebContent/WEB-INF/web.xml</webXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax.el</groupId> <artifactId>el-api</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.0.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <version>2.0.5</version> <scope>runtime</scope> </dependency> </dependencies>

Luego, para asegurarse de que las dependencias de Maven se copian a "WEB-INF / lib /" antes de la implementación, las agregué a la "Asamblea de implementación" del proyecto: Propiedades del proyecto-> Asamblea de implementación. Para obtener más detalles, consulte esta pregunta: Eclipse + Maven + JavaServer Faces -> ClassNotFoundException: StartupServletContextListener .

Sé que tienen dos problemas relacionados.

Problemas

(1) Cuando "Proyecto-> Maven-> Actualizar configuración del proyecto", "Dependencias de Maven" se elimina de mi "Conjunto de implementación". ¿Hay alguna forma de evitar que esto suceda, posiblemente a través de algún complemento de Maven?

(2) Cuando construyo el .war desde Eclipse todo está bien, el .war funciona bien en Tomcat. Pero cuando lo construyo desde la línea de comandos con Maven, mvn clean compile war:war , los archivos .html de "WebContent /" no se agregan a .war. Nuevamente, ¿qué configuraciones / complementos de Maven necesito para remediar esto?

Para su información, es una aplicación muy básica ... solo una página de inicio de sesión y una página de bienvenida.

Si hay detalles adicionales que debo proporcionar (web.xml, faces-config-xml, login.xhtml), avíseme y los agregaré.

Gracias

--EDITAR--

Versión de Eclipse: 3.6.2

Eclipse versión m2e: 1.0.1

Versión de Apache Maven: 2.2.1

(1) Solución

Actualizado a Eclipse Java EE 3.7.2 (Indigo). Ahora también utiliza el complemento de WTP Eclipse para la integración de Mven de m2e-wtp

(2) Solución

Creé un nuevo proyecto de Maven desde el archetype , luego Eclipse-> Importar-> Proyecto Maven existente. Con la nueva versión de Eclipse y el m2e-wtp, la perspectiva de Java EE en Eclipse funciona bien con la estructura de directorios estándar de Maven

El pom.xml ahora también es más simple:

<build> <finalName>jsf-facelets-tutorial</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax.el</groupId> <artifactId>el-api</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.0.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <version>2.0.5</version> <scope>runtime</scope> </dependency> </dependencies>