Как добавить зависимость 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, и вы можете ввести любые зависимости, которые хотите.

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

DoraShine
источник
очень помог мне. не заметил 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>

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

driftking9987
источник
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

Vinay K
источник