Como adiciono uma dependência do Maven no Eclipse?

128

Não sei como usar o Maven. Estou desenvolvendo há alguns anos com o Eclipse e ainda não precisava saber disso. No entanto, agora estou analisando alguns documentos que sugerem que eu faça o seguinte:

"Para incluí-lo em seu projeto, basta adicionar essa dependência irrelevante à sua compilação."

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

Como faço isso com meu projeto Eclipse?

Por favor, assuma que eu não sei nada sobre Maven. Acabei de descobrir que ele pode ser instalado no meu computador digitando mvnna linha de comando, mas essa é realmente a extensão do meu conhecimento. Eu ficaria feliz em continuar sabendo nada sobre o Maven se houver uma maneira equivalente e não-Maven de seguir estas instruções com o Eclipse.

Riley Lark
fonte
2
Você já leu o Guia de início do Maven: maven.apache.org/guides/getting-started/index.html
Dan W
4
O equivalente não-Maven: encontre todas as bibliotecas necessárias e adicione-as ao caminho de construção do seu projeto (diretório lib). "Todas as bibliotecas de que você precisa" = resteasy-jackson-provider-1.1.GA.jar (2.3.0 é a versão atual ...) mais todas as dependências. "Todas as dependências" é o que o Maven faz por você (nessa situação). Olhando para cima, eles são jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Aprenda um pouco de Maven, vale a pena.
Hauke ​​Ingmar Schmidt
Você encontrará mais informações sobre o Maven no guia Maven: The Complete Reference e também deve considerar instalar o Eclipse M2E in (anteriormente conhecido como m2eclipse).
6162 matsev

Respostas:

204
  1. Na barra de menus superior, abra Janela -> Mostrar Visualização -> Outro
  2. Na janela Mostrar Visualização, abra Maven -> Repositórios Maven

    Mostrar Exibição - Repositórios Maven

  3. Na janela exibida, clique com o botão direito do mouse em Global Repositories e selecione Go Into

  4. Clique com o botão direito do mouse em " central ( http://repo.maven.apache.org/maven2 ) " e selecione " Reconstruir Índice "

    • Observe que levará um tempo para concluir o download
  5. Quando a indexação estiver concluída, clique com o botão direito do mouse no projeto -> Maven -> Adicionar dependência e comece a digitar o nome do projeto que você deseja importar (como "hibernar").

    • Os resultados da pesquisa serão preenchidos automaticamente na caixa "Resultados da pesquisa" abaixo.
Oded Breiner
fonte
156
Diz a lenda, ainda está reconstruindo o Índice.
25
Aviso: O Eclipse (pelo menos a versão mais recente a partir de maio de 2016) trava de forma oculta enquanto reconstrói o índice central do repositório Maven. E o status está bloqueado em "0%" há cinco minutos. Não faça planos.
Saustrup
7
Droga, eu sinto falta #<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan
12
Eu fui tolo o suficiente para tentar abrir a pasta central ... não faça isso ...
Não é amado
15
Nota: Se este não foi um projeto Maven. Antes da etapa 5, você deve clicar com o botão direito do mouse em projeto -> configurar -> converter em projeto Maven. Então a etapa 5 funcionará.
cliff2310
26

De fato, ao abrir o pom.xml, você verá 5 guias na parte inferior. Clique no pom.xml e você pode digitar as dependências que desejar.

insira a descrição da imagem aqui

DoraShine
fonte
me ajudou muito. não notou as 5 abas antes #
M. Smith
2
O Eclipse ainda não reconhece as dependências do meu pom.xml no meu código. Quando uso o IntelliJ, ele é automaticamente baixado e configurado para a conclusão do código. O eclipse não faz isso?
Cas Eliëns 31/08
Se você já conhece os detalhes de sua dependência (ID do grupo, ID do artefato, versão), isso é muito mais rápido do que baixar a Internet apenas para incluir my-favorite-library.jarno seu projeto.
Christopher Schultz
10

Você precisa usar um plug-in Maven para Eclipse para fazer isso corretamente. O m2e plugin está embutido na versão mais recente do Eclipse e faz um trabalho decente, se não perfeito, de integrar o Maven ao IDE. Você deseja criar seu projeto como um 'Projeto Maven'. Como alternativa, você pode importar um Maven POM existente para o seu espaço de trabalho para criar projetos automaticamente. Depois de ter seu projeto Maven no IDE, basta abrir o POM e adicionar sua dependência a ele.

Agora, se você não possui um plug-in Maven para Eclipse, precisará obter os jarros para a dependência em questão e adicioná-los manualmente como referências de caminho de classe ao seu projeto. Isso pode ficar desagradável, pois você precisará não apenas do JAR de nível superior, mas também de todas as suas dependências.

Basicamente, eu recomendo que você obtenha um plugin Maven decente para o Eclipse e deixe que ele lide com o gerenciamento de dependências para você.

Percepção
fonte
2
Obrigado pela resposta. Eu já tenho um projeto com 1000 arquivos - existe uma maneira de adicionar suporte ao maven, em vez de começar do zero? Eu tenho a versão mais recente do Eclipse
Riley Lark
3
Com a versão mais recente do Eclipse e m2e, você pode clicar com o botão direito do mouse em um projeto Java regular e ativar o Gerenciamento de Dependências. Isso irá gerar um pom.xml para o projeto, mantendo sua estrutura intacta.
Percepção
7

Abra o arquivo pom.xml.

abaixo da projecttag, adicione <dependencies>como outra tag e pesquise no Google as dependências do Maven. Eu usei isso para pesquisar.

Então, depois de obter a dependência criar outra tag dependencydentro de <dependencies>tag.

Então, finalmente, será algo parecido com isto.

<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>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

Espero que ajude.

driftking9987
fonte
2

Eu enfrentei o problema semelhante e resolvi copiando os arquivos Jar ausentes no caminho .M2 Path,

Por exemplo: se você Missing artifact tws:axis-client:jar:8.7vir a mensagem de erro , precisará fazer o download do arquivo "axis-client-8.7.jar" e colar o mesmo no local abaixo para resolver o problema.

C: \ Users \ Nome de usuárioXXX.m2 \ repository \ tws \ axis-client \ 8.7 (Cole axis-client-8.7.jar).

finalmente, clique com o botão direito do mouse em projeto-> Maven-> Atualizar projeto ... É isso.

feliz codificação.

NARAYANASAMY VELUSAMY
fonte
Obrigado! Este não era meu problema específico, mas me ajudou a resolvê-lo. No meu caso, meu frasco estava no local correto, mas o caminho estava um pouco errado.
Captain Fantastic
-1

Eu enfrentei o mesmo problema com dependências automatizadas, por exemplo: infelizmente suas dependências automatizadas foram excluídas do seu caminho de construção, então você tem muitas exceções. Se você seguir o processo abaixo, poderá resolver facilmente esse problema.

 Clique com o botão direito do mouse em projeto >> maven >> updateProject >> selecioneProject >> OK

Vinay K
fonte