Para um projeto em andamento, estamos pensando em usar o plug-in Maven para Eclipse para automatizar nossas construções. No momento, o procedimento é muito mais complicado do que deveria ser, e esperamos que o Maven simplifique as coisas para uma compilação com um clique.
Minha pergunta é: existe um assistente ou importador automático para converter um projeto Java Eclipse existente em um projeto Maven, usando o plug-in Maven? Ou devo criar um novo projeto Maven e copiar manualmente todos os arquivos de origem, bibliotecas, etc.
Respostas:
Se você apenas deseja criar um POM padrão e ativar os recursos do m2eclipse: então, suponho que você não tenha uma configuração de compilação automatizada alternativa que esteja tentando importar e suponho que você esteja falando sobre o plugin m2eclipse.
O plug-in m2eclipse fornece uma opção de clique com o botão direito do mouse em um projeto para adicionar este pom.xml padrão:
Versões mais recentes do M2E
Clique com o botão direito do mouse em Projeto -> submenu Configurar -> Converter em projeto Maven
Versões anteriores do M2E
Clique com o botão direito do mouse em Projeto -> submenu Maven -> Ativar Gerenciamento de Dependência.
Isso fará o necessário para ativar o plug-in para esse projeto.
Para responder ', existe um importador ou assistente automático? ': não que eu saiba. Usar a opção acima permitirá que você ative o plug-in m2eclipse para o seu projeto existente, evitando a cópia manual. Você ainda precisará configurar as dependências e outras coisas necessárias para criar a si mesmo.
fonte
A partir do m2e 0.13.0 (se não for anterior a), é possível converter um projeto Java em Maven no menu de contexto. Aqui está como:
Aqui estão as etapas detalhadas com capturas de tela.
fonte
Eu estava tendo o mesmo problema e queria Mavenise todo o espaço de trabalho do eclipse contendo cerca de 60 projetos Eclipse. Fazê-lo manualmente exigia muito tempo e as opções alternativas não eram viáveis. Para resolver o problema, finalmente criei um projeto chamado eclipse-to-maven no github. Como o eclipse não tem todas as informações necessárias sobre as dependências, ele faz o seguinte:
Com base em
<classpathentry/>
elementos XML no arquivo .classpath, ele cria as dependências em outro projeto, identifica o arquivo jar da biblioteca e com base em seu nome (por exemplo, jakarta-oro-2.0.8.jar) identifica sua versão. AtualmenteartifactId
egroupId
são os mesmos que não consegui encontrar algo que pudesse retornar o ID do grupo Maven da dependência com baseartifactId
. Embora essa não seja uma solução perfeita, ela fornece uma boa base para acelerar a Mavenização.Move todas as pastas de origem de acordo com a convenção do Maven (como
src/main/java
)Como os projetos Eclipse com nomes com espaços são difíceis de lidar no ambiente Linux / Unix, ele os renomeia também com nomes sem espaços.
Os arquivos pom.xml resultantes contêm as dependências e a estrutura básica do pom. Você precisa adicionar os plug-ins Maven necessários manualmente.
fonte
.classpath
e.project
arquivos)? Você poderia adicionar à sua resposta como usar seu plug-in para criar um projeto JavaSE simples - e quais seriam as mudanças reais na estrutura de diretórios?Clique com o botão direito do mouse em Nome do projeto> Configurar> Converter em projeto Maven> clique em Concluir. Aqui você adicionará algumas dependências para baixar e adicionar seu arquivo jar esperado.
Isso criará um arquivo pom.xml gerado automaticamente. Abra esse arquivo no formato xml no seu editor eclipse. Após a construção de tag (
</build>
), adicione suas dependências que você pode copiar do site maven e adicione-as lá. Agora você está pronto para ir. Essas dependências adicionam automaticamente os arquivos jar necessários.fonte
A resposta de Chengdong está correta, você deve usar
Configure>Convert to Maven Project
. No entanto, devo acrescentar que o processo de conversão foi bastante aprimorado, pois o m2e 0.13.0: m2e 1.1+ e m2e-wtp 0.16.0+ agora podem converter as configurações do eclipse existentes na configuração do plugin maven .Quanto à questão da conversão de dependência, você pode experimentar o recurso de integração do JBoss Tools (JBT) 4.0 Maven, que contém um assistente de conversão experimental, conectado ao processo de conversão do m2e: http://docs.jboss.org/tools/whatsnew/maven/ maven-news-4.0.0.Beta1.html .
Ele não pretende ser a solução definitiva (nada pode), pois deve ajudar muito a iniciar o processo de conversão do Maven.
Além disso, para sua informação, aqui estão algumas idéias para aprimorar o processo de conversão da m2e , a refatoração para usar o layout do Maven provavelmente será implementada no futuro.
O JBT 4.0 (requer Eclipse JavaEE Juno) pode ser instalado em http://download.jboss.org/jbosstools/updates/stable/juno/ ou no Eclipse Marketplace
fonte
Isso é necessário porque, mais ou menos, quando importamos um projeto do git, não é um projeto maven, portanto, as dependências maven não estão no caminho da construção.
Aqui está o que eu fiz para transformar um projeto geral em um projeto inteligente.
projeto geral -> projeto java, clique com o botão direito do mouse no projeto, propriedades-> facetas do projeto, clique em "java". Esta etapa transformará um projeto geral em projeto java.
projeto java -> projeto maven clique com o botão direito do mouse no projeto, configure -> converter em projeto maven Nesse momento, as dependências maven lib ainda não estão no caminho da construção. propriedades do projeto, caminho de construção , adicionar biblioteca, adicionar dependências automatizadas lib
E espere alguns segundos, quando as dependências forem carregadas, o projeto estará pronto!
fonte
Existe um programa de linha de comando para converter qualquer projeto Java em um projeto SBT / Maven.
Ele resolve todos os frascos e tenta descobrir a versão correta com base na soma de verificação SHA, caminho de classe ou nome do arquivo. Em seguida, ele tenta compilar as fontes até encontrar uma configuração funcional. Também podem ser dadas tarefas personalizadas a serem executadas por configuração de dependência.
https://bitbucket.org/mnyx/universalresolver
fonte
Até onde eu sei, não há nada que converta automaticamente um projeto Eclipse em um projeto Maven (ou seja, modifique o layout, crie um POM, "gere" e alimente-o com metadados, detecte bibliotecas e suas versões para adicioná-los ao POM etc). O Eclipse simplesmente não possui metadados suficientes para tornar isso possível (esse é precisamente o objetivo do POM) e / ou produzir um resultado decente.
Essa seria a melhor opção na minha opinião. Crie um projeto Maven, copie / mova fontes, recursos, testes, recursos de teste em seus respectivos diretórios, declare dependências etc.
fonte
Para converter para Gradle é análogo ao Maven:
Clique com o botão direito do mouse em Projeto -> submenu Configurar -> Projeto Convert to Gradle (STS)
fonte