Transformar um projeto maven em um dynamic web project

Pessoal,

Preciso transformar um projecto maven2 em um dynamic web project. Alguém sabe como fazer?

Para passar o projeto web criado no maven2 para um projeto eclipse utiliza o comando:

mvn eclipse:eclipse -Dwtpversion=2.0

É recomendado utilizar os seguintes plugins:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.0.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.1</version> <configuration> <descriptorRefs> <descriptorRef> jar-with-dependencies </descriptorRef> </descriptorRefs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.4</version> </plugin>

[color=red][b]Obs.:

  • Verificar se há plugins atualizados em:[/b][/color]
    http://maven.apache.org/plugins/index.html
    [color=red]- Também será necessário configurar manualmente o “Targeted Runtimes” na propriedades do projeto.[/color]

No meu projeto final, funcionou corretamente.
http://code.google.com/p/projetofinal2009/

Muito Obrigado!! =)

Olá Daniel,

Preciso exatamente disso que você descreveu…
Tentei executar os passos, o log diz que foi gerado o projeto com sucesso, mas ele não fica na estrutura de dynamic web project… :S

Você tem mais alguma dica para isso?

Obrigada.

Esse é o que eu uso nos meus projetos. Para “rodar” o tomcat pelo maven, execute: mvn tomcat:run. Será executado na porta 9090 com o path /{project.build.finalName}.
Observação: O campo “{server.tomcat.name}”, é o nome do servidor instalado no eclipse. Todas as tags com “{ }”, são propriedades que você deve definir no pom.xml.

Valeu!!!


<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.5</version>
			</plugin>
			
			<!-- PLUGIN PARA COMPILAR EM JAVA6 -->
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.1</version>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>

			<!-- PLUGIN PARA RODAR A APLICAÇÃO NO TOMCAT PELO MAVEN -->
			<!-- Tomcat embutido (package tomcat:run) -->
			<!-- Standalone Tomcat (package tomcat:deploy) -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>tomcat-maven-plugin</artifactId>
				<version>1.0</version>
				<configuration>
					<path>/${project.build.finalName}</path>
					<!-- Embedded port -->
					<port>9090</port>
					<!-- As credenciais de autenticação padrão para implementação remota 
						são "admin" username sem senha. Para substituir as credenciais, definir um 
						servidor em settings.xml e ativá-lo usando o elemento <servidor> -->
					<url>http://localhost:9090/manager</url>
				</configuration>
			</plugin>

			<!-- PLUGIN PARA CONFIGURAR O PROJETO PARA O ECLIPSE -->
			<!-- Ao executar eclipse:eclipse, o maven já criar o projeto para o eclipse 
				com todas as configurações padrões de um projeto web. -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<downloadSources>true</downloadSources>
					<downloadJavadocs>true</downloadJavadocs>
					<encoding>${project.encoding}</encoding>
					<wtpversion>2.0</wtpversion>
					<wtpmanifest>true</wtpmanifest>
					<manifest>${basedir}/${path.webapp}/META-INF/MANIFEST.MF</manifest>
					<wtpapplicationxml>true</wtpapplicationxml>
					<additionalProjectFacets>
						<jst.web>2.5</jst.web>
						<wst.jsdt.web>1.0</wst.jsdt.web>
					</additionalProjectFacets>
					<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.eclipse.wst.common.modulecore.ComponentStructuralBuilder</buildcommand>
						<buildcommand>org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver</buildcommand>
					</buildcommands>
					<classpathContainers>
						<classpathContainer>org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/${server.tomcat.name}</classpathContainer>
						<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
						<classpathContainer>org.eclipse.jst.j2ee.internal.web.container/${project.artifactId}</classpathContainer>
						<classpathContainer>org.eclipse.jst.j2ee.internal.module.container</classpathContainer>
					</classpathContainers>
					<projectnatures>
						<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>
					</projectnatures>
					<additionalConfig>
						<!-- CRIA UM ORG.ECLIPSE.WST.COMMON.COMPONENT PERSONALIZADO -->
						<file>
							<name>.settings/org.eclipse.wst.common.component</name>
							<content>
                                  <![CDATA[<?xml version="1.0" encoding="UTF-8"?>
									<project-modules id="moduleCoreId" project-version="1.5.0">
									  <wb-module deploy-name="${project.build.finalName}">
									    <property name="context-root" value="${project.build.finalName}"/>
									    <wb-resource deploy-path="/" source-path="${path.webapp}"/>
									    <property name="java-output-path" value="${java.output}"/>
									    <wb-resource deploy-path="/WEB-INF/classes" source-path="${java.source}"/>
									    <wb-resource deploy-path="/WEB-INF/classes" source-path="${java.resources}"/>
									  </wb-module>
									</project-modules>]]>
							</content>
						</file>
					</additionalConfig>
				</configuration>
			</plugin>
		</plugins>

Desculpa incomodar novamente Daniel,

Mas estou com dificuldades… a estrutura do projeto continua a mesma… Exemplo a pasta “Webcontent”, por exemplo, não foi criada.

Eu preciso migrar para um web project pelo seguinte, eu tenho que usar o Websphere como server app, mas o desenvolvimento está muito custoso sem eu ter o servidor na ide, então baixei o RAD, mas não consegui instalar o plugin no maven no RAD, dá vários problemas de versão… então a última tentativa seria usar o Dynamic Web Project.

[]s

Mas você pode executar o comando [b]mvn eclipse:eclipse[/b] que o maven criará um projeto eclipse. Depois é só importar para o RAD. O plugin não é obrigatório.
Outra dica, é ver como o RAD cria o arquivo [i].settings/org.eclipse.wst.common.component[/i]. Copie o conteúdo desse arquivo para o pom.xml, como no exemplo abaixo:

<file>  
                            <name>.settings/org.eclipse.wst.common.component</name>  
                            <content>  
                                  <![CDATA[

                                         .... Aqui ....

                                         ]]>  
                            </content>  
                        </file>