Nem sempre começamos um projeto no Maven, não é verdade? Por este motivo ensinarei como converter um projeto Web, que fora criado diretamente no Eclipse, para que o mesmo seja compatível com o Maven e use todas as suas possibilidades.
Antes de mais nada irei explicar como criar um projeto web no Eclipse…
O primeiro passo é criar um novo projeto, através do menu File / New. A tela abaixo será exibida, para facilitar digitei a palavra web para encontrar a opção Dynamic Web Project.
Agora é necessário dar um nome ao projeto e pressionar o botão Finish.
Como você pode perceber, o Eclipse criará um novo projeto Web. Veja que o código Java ficou na pasta src e código fonte web ficou na pasta WebContent.
Até então o pom.xml do Maven não foi criado. Para criar o pom basta clicar no nome do projeto com o botão direito do mouse e selecionar a opção Maven / Enable Dependency Management.
A próxima tela exibida pelo Eclipse é a tela de configurações básicas de conversão. Como se trata de um projeto web é necessário alterar o parâmetro Packaging para war. Após isto pressione o botão Finish.
Pronto, agora temos o “esqueleto” pom.xml. Deve ser semelhante ao código abaixo:
<projectxmlns="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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>EclipseToMaven</groupId><artifactId>EclipseToMaven</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging></project>
Infelizmente o trecho de código acima não é suficiente para “entender” o projeto criado no Eclipse. Altere este trecho de código para que fique semelhante a:
<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>EclipseToMaven</groupId><artifactId>EclipseToMaven</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><warSourceDirectory>WebContent</warSourceDirectory></configuration></plugin></plugins><sourceDirectory>src</sourceDirectory></build></project>
Agora para ver se a conversão vai funcionar execute o comando
mvn package
Não podia esquecer de dizer que caso o seu projeto seja um projeto com muitas dependências você terá que adicioná-las como dependências do Maven para que o seu código compile através do pom.xml. As pastas build pelo Eclipse fora da pasta target(criada pelo maven) será ignorada.
E aí? Conseguiu, qualquer dúvida deixe um comentário!
Não estou conseguindo adicionar o Hibernate-3.6.0-Final, tem alguma idéia de como fazer-lo ?
ResponderExcluirOlá desculpe-me pela demora em responder. Não sei se precisa ainda da ajuda porém lá vai:
ResponderExcluirAdicione o repositório
JBoss
JBoss repository
https://repository.jboss.org/nexus/content/groups/public-jboss
E a dependência abaixo
org.hibernate
hibernate-core
3.6.0.Final
Veja se funciona e me avise.
Olá Jony, muito bom seu tutorial, bem explicativo e funcional!
ResponderExcluirRapaz, estou com o problema inverso ao que você explicou, ou seja, instalei um projeto a partir do maven (projeto disponibilizado no framework Demoiselle seguindo o tutorial "http://www.frameworkdemoiselle.gov.br/documentacaodoprojeto/manuais-e-tutoriais/tutorial-da-versao-2-2-3-0/").
O problema é que, como o tutorial é gradual, quando chega na hora de acrescentar a parte do jsf, primeiro que o projeto não é convertido para um projeto web automaticamente como o autor explicou, não sei se fiz alguma coisa errada, mas o projeto não fica disponível para o servidor (Jboss-AS-7.1.1.Final) mesmo após dar um update project pelo maven.
Então eu converto pra um Dynamic Web Project no braço (no project facets na verdade) e configuro o content pra src/main/webapp, o projeto aparece para o deploy, o servidor sobe, mas a aplicação não é reconhecida.
Já consegui botar pra rodar com um snapshot gerado pelo maven, mas não é muito bom para mim porque não consigo debugar pelo eclipse, além do trabalho ser muito braçal e demandar mais tempo que um deploy normal de dentro do ambiente.
Você já passou por essa situação? Tem algum tutorial explicando esse problema?
Agradeço muito se puder dar alguma ajuda! =)
Desculpe-me pela demora em responder. Pelo tempo já deve ter conseguido resolver, correto?
ExcluirAté mais!