Как добавить зависимость Maven в Eclipse?


130

Я вообще не знаю, как использовать Maven. Я занимаюсь разработкой Eclipse пару лет, и мне еще не нужно было об этом знать. Однако сейчас я просматриваю некоторые документы , в которых предлагается сделать следующее:

«Чтобы включить его в свой проект, просто добавьте эту зависимость maven в свою сборку».

<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>

Как мне это сделать с моим проектом Eclipse?

Предположим, я ничего не знаю о Maven. Я только что понял, что он может быть установлен на моем компьютере, набрав mvnв командной строке, но это серьезно мои знания. Я был бы счастлив и дальше ничего не знать о Maven, если есть эквивалентный способ, отличный от Maven, для выполнения этих инструкций с Eclipse.


2
Вы читали Руководство по началу работы
— Дэн В.

4
Эквивалент, отличный от Maven: найдите все необходимые библиотеки и добавьте их в путь сборки вашего проекта (каталог lib). «Все библиотеки, которые вам нужны» = resteasy-jackson-provider-1.1.GA.jar (2.3.0 - текущая версия ...) плюс все зависимости. «Все зависимости» - это то, что Maven делает за вас (в этой ситуации). При поиске это jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Изучите немного Maven, это того стоит.
— Хауке Ингмар Шмидт,

Вы найдете дополнительную информацию о Maven в Maven: The Complete Reference guide, а также вам следует подумать об установке плагина Eclipse M2E (ранее известного как m2eclipse).
— matsev 06

Ответы:


204
  1. В верхней строке меню откройте Окно -> Показать вид -> Другое.
  2. В окне Показать представление откройте Maven -> Репозитории Maven.

    Показать представление - репозитории Maven

  3. В появившемся окне щелкните правой кнопкой мыши Global Repositories и выберите Go Into.

  4. Щелкните правой кнопкой мыши « центральный ( http://repo.maven.apache.org/maven2 ) » и выберите « Перестроить индекс ».

    • Обратите внимание, что загрузка займет некоторое время.
  5. После завершения индексации щелкните правой кнопкой мыши проект -> Maven -> Добавить зависимость и начните вводить имя проекта, который вы хотите импортировать (например, «спящий режим»).

    • Результаты поиска будут автоматически заполнены в поле «Результаты поиска» ниже.

157
Легенда гласит, что индекс все еще перестраивается.

25
Совет: Eclipse (по крайней мере, последняя версия по состоянию на май 2016 г.) полностью блокируется при восстановлении индекса центрального репозитория Maven. И статус вот уже пять минут застрял на "0%". Не стройте никаких планов.
— Сауструп

7
Блин, я скучаю<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
— Марк К. Коуэн

12
Я был настолько глуп, что попытался открыть центральную папку ... не делай этого ...
— Не любил

15
Примечание. Если это не проект Maven. Перед шагом 5 вы должны щелкнуть правой кнопкой мыши проект -> настроить -> преобразовать в проект Maven. Тогда шаг 5 будет работать.
— cliff2310

27

Фактически, когда вы открываете pom.xml, вы должны увидеть 5 вкладок внизу. Щелкните файл pom.xml, и вы можете ввести любые зависимости, которые хотите.

введите описание изображения здесь


очень помог мне. не заметил 5 вкладок раньше
— М. Смит

2
Eclipse все еще не распознает зависимости из моего pom.xml в моем коде. Когда я использую IntelliJ, он автоматически загружает их и настраивает для завершения кода, разве eclipse этого не делает?
— Cas Eliëns

Если вы уже знаете подробности своей зависимости (идентификатор группы, идентификатор артефакта, версия), то это намного быстрее, чем загрузка из Интернета только для включения my-favorite-library.jarв свой проект.
— Christopher Schultz

10

Для правильной работы вам необходимо использовать плагин Maven для Eclipse. M2e плагин встроен в последнюю версию Eclipse, и делает достойную , если не идеальную работу по интеграции Maven в IDE. Вы захотите создать свой проект как «Проект Maven». В качестве альтернативы вы можете импортировать существующий Maven POM в свою рабочую область для автоматического создания проектов. Когда у вас есть проект Maven в среде IDE, просто откройте POM и добавьте к нему свою зависимость.

Теперь, если у вас нет плагина Maven для Eclipse, вам нужно будет получить jar (-ы) для рассматриваемой зависимости и вручную добавить их в качестве ссылок на пути к классам в вашем проекте. Это может быть неприятно, поскольку вам понадобится не только JAR верхнего уровня, но и все его зависимости.

В принципе, я рекомендую вам получить достойный плагин Maven для Eclipse и позволить ему управлять зависимостями за вас.


2
Спасибо за ответ. У меня уже есть проект с 1000 файлами - есть ли способ добавить поддержку maven вместо того, чтобы начинать с нуля? У меня последняя версия Eclipse
— Riley Lark

3
В последней версии Eclipse и m2e вы можете щелкнуть правой кнопкой мыши обычный Java-проект и включить для него Dependency Management. Это сгенерирует pom.xml для проекта, оставив при этом его структуру нетронутой.
— Perception

7

Откройте файл pom.xml.

под projectтегом добавьте <dependencies>еще один тег и Google для зависимостей Maven. Я использовал это для поиска.

Поэтому после получения зависимости создайте еще один тег dependencyвнутри <dependencies>тега.

В конечном итоге это будет выглядеть примерно так.

<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>

Надеюсь, поможет.


2

Я столкнулся с аналогичной проблемой и исправил ее, скопировав отсутствующие файлы Jar в путь .M2,

Например: если вы видите сообщение об ошибке, Missing artifact tws:axis-client:jar:8.7вам необходимо загрузить файл «axis-client-8.7.jar» и вставить его в указанное ниже место, чтобы решить проблему.

C: \ Users \ UsernameXXX.m2 \ repository \ tws \ axis-client \ 8.7 (вставьте axis-client-8.7.jar).

наконец, щелкните правой кнопкой мыши проект-> Maven-> Обновить проект ... Вот и все.

счастливого кодирования.


Спасибо! Это не было моей конкретной проблемой, но это помогло мне ее решить. В моем случае банка была в правильном месте, но путь был немного неправильным.
— Captain Fantastic

-1

Я столкнулся с той же проблемой с зависимостями maven, например: к сожалению, ваши зависимости maven удалены из пути сборки, тогда вы, люди, получите много исключений, если вы выполните приведенный ниже процесс, вы можете легко решить эту проблему.

 Щелкните правой кнопкой мыши проект >> maven >> updateProject >> selectProject >> OK

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.