Adaptar Projeto Existente para o Maven

Estou aprendendo a usar o Maven e tenho observado que todos os materiais existentes ensinam a configurar um projeto básico, o quickstart, “do zero”. Isso é bom, mas neste momento seria melhor se eu conseguisse “adaptar um projeto existente ao Maven”.

Como fazer isso?

No Ant, além do build.xml, existe o arquivo de properties. Existe isso também para o Maven?

Existe o conceito de “script de build” para Maven?

"O build.xml do maven é o pom.xml"
Sim, você pode customizar a forma que é feito o deploy do projeto, como é construido, dependências, através do pom.xml de cada projeto.

Para migrar para uma arquitetura maven é uma tarefa razoavelmente fácil,
necessário adequar o projeto dentro da estrutura (tbm customizado) src/main/java e arquivos, src/main/resources. Para projetos web a estrutura é diferente, dá uma olhada na documentação para cada caso.

se o nome do pacote do seu projeto for: br.com.empresa
no groupId do maven insira br.com.empresa

Depois, copie as classes correspondente a cada pacote.

Seja qual for o tipo de <packaging> que eu escolha - jar, war ou ear - o Maven gera um archive contendo arquivos .class. alguns diretórios, o pom.xml etc. Não “embute” nenhum .java.

Sei que isso é o suficiente para que determinada aplicação rode num container. Mas, e seu eu quiser incluir no meu “processo de build” a verificação de código-fonte, com ferramentas como o PMD, o Checkstyle e o Findbugs? Essas ferramentas não precisam de .java para rodar/verificar?

Isto é feito através do plugins e goals do maven. Pesquise se não existe plugins para o PMD Checkstyle e o FindBugs.

Ainda não encontrei nada dizendo ser possível “adaptar o Maven ao meu projeto”. Tudo o que vi até agora diz justamente o contrário.

Neste momento, por exemplo, estou tendo de refatorar meus pacotes e deixá-los “no padrão do Maven”…

É isso mesmo? Para poder usufruir dos benefícios desta ferramenta, terei mesmo de “moldar-me” a ela?

rápida pesquisa 256.000 resultados

já precisei migrar vários sistemas, nunca precisei refatorar meus pacotes para utilizar maven.

enfim: “A Técnica é transformada em Arte por quem a emprega”

Oi Paulo,

uma boa coisa é você simplesmente modificar a estrutura de diretórios do seu projeto. Siga as convenções do Maven, cujas principais são basicamente as seguintes:

pom.xml na raiz do projeto
src/main/java <- Seu código Java entra aqui
src/main/resources <- Seus recursos que serão incluidos no pacote a ser gerado
src/test/java <- Seus testes unitários e de integração
src/test/resources <- Seus arquivos de recursos

Se for uma aplicação web, você também vai querer ter um diretório
src/main/webapp <- que vai corresponder ao diretório aonde todas as páginas, WEB-INF e META-INF se encontrarão

Dica: use o plugin do Maven para Eclipse e crie um projeto web padrão maven usando um dos estereótipos de sua preferência. Em seguida, dê um duplo clique sobre o pom.xml. Surgirá uma nova página com varias abas dentro dela. Clique na “effective pom”. Nela vão estar todas as propriedades do Maven com seu valor padrão. É uma excelente fonte para descobrir quais os padrões adotados pela ferramenta.

Fica a dica!

Oi kico, quanto tempo!?

Ué, mas isso não é refatorar? :roll: não é justamente o que estou tentando evitar? :oops:

Oi Paulo,

neste caso eu não chamaria de “refatorar”, porque você só vai mudar a pasta em que está salvando seu código fonte. É possível evitar esta mudança de local, pra isto, basta que você siga a dica que te passei de verificar as configurações padrão do Maven, mas pra evitar amolação no futuro, eu moveria os diretórios sim.