Как настроить путь сборки Eclipse для использования зависимостей Maven?

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

В настоящее время у меня есть простой файл POM, настроенный как тест:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

Обычно при управлении зависимостями для проекта я бы добавил проект или JAR к пути сборки проекта, а затем смог создать свой проект..

Но при использовании M2Eclipse зависимости не добавляются автоматически к пути сборки. Где-то мне нужно настроить это, чтобы позволить Eclipse знать, что Maven управляет зависимостями?

Ответ 1

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

Ответ 2

если вы выполните

mvn eclipse:clean

за которым следует

mvn eclipse:eclipse

если вы подготовите файл eclipse .classpath для вас. То есть эти команды запускаются против maven из командной строки, то есть вне eclipse.

Ответ 3

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

  • Если вы создали проект "Java" под Eclipse (Ctrl + N > Java Project), затем щелкните правой кнопкой мыши проект в представлении Проводник пакета и перейдите в Maven > Включить управление зависимостями (в зависимости от исходной структуры проекта, возможно, вы изменили его в соответствии с maven one, например, добавив src/java в исходные папки на пути сборки),

  • Если вы создали "Проект Maven" в Eclipse (Ctrl + N > Maven Project), тогда он должен быть уже "Maven ready".

  • Если вы создали проект Maven вне Eclipse (вручную или с архетипом), просто импортируйте его в Eclipse (щелкните правой кнопкой мыши представление Проводник пакета и выберите Импорт... > Проекты Maven), и он будет "Maven ready".

Теперь, чтобы добавить зависимость, щелкните правой кнопкой мыши проект и выберите Maven > Add Dependency) или отредактируйте pom вручную.

PS: не используйте maven-eclipse-plugin, если вы используете m2eclipse. В этом нет никакой необходимости, это будет путать, это породит беспорядок. Нет, действительно, не используйте его, если вы действительно не знаете, что делаете.

Ответ 4

Щелкните правой кнопкой мыши на проекте Configure > convert to Maven project

Затем вы можете увидеть все связанные с Maven меню для вашего проекта.

Ответ 5

Мне понравилось это.

Щелкните правой кнопкой мыши по проекту → configure → convert to maven project. Щелкните правой кнопкой мыши по проекту → maven → добавить зависимости.

Ответ 6

Добавьте это в файл .classpath..

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

спасибо

Ответ 7

Я не нашел меню maven или configure, но нашел следующую кнопку, которая решила мою проблему:

enter image description here

Ответ 8

В Eclipse (Mars) перейдите к:

Свойства проекта → Maven. Убедитесь, что "Разрешить зависимости от проектов рабочей области" отключено.

Ответ 9

Когда m2eclipse установлен правильно, он должен автоматически добавлять зависимости. Однако вы должны сгенерировать файлы проекта eclipse, введя:

mvn eclipse:m2eclipse

или, альтернативно, если вы не используете m2eclipse:

mvn eclipse:eclipse

Ответ 10

У меня была небольшая вариация, вызвавшая некоторые проблемы - несколько подпроектов в рамках одного проекта. В этом случае мне нужно было войти в каждую отдельную папку, содержащую POM, выполнить команду mvn eclipse: eclipse, а затем вручную скопировать/объединить записи в classpath в файл пути к проекту.

Ответ 11

Возможно, вы могли бы заглянуть в maven-eclipse-plugin вместо M2Eclipse.

Там вы в основном добавляете конфигурацию maven-eclipse-plugin в свой pom.xml, а затем выполняете mvn eclipse:eclipse, который будет генерировать требуемые файлы .project и .classpath для Eclipse. Тогда у вас будет правильный путь сборки в Eclipse.

Ответ 12

Для более новых версий Eclipse ( >= Mars) щелкните правой кнопкой мыши по проекту > configure > convert to Maven project

Ответ 13

Убедитесь, что ваш POM соответствует соглашению об именах и назван в строчной букве как pom.xml и NOT pom.xml.

В моем случае все было правильно, но Eclipse все еще жаловался при попытке щелкнуть правой кнопкой мыши и Update project configuration - сказал мне, что POM не может быть прочитан. Изменено имя в нижнем регистре - pom.xml от pom.xml - и оно сработало.

Ответ 14

Добавление моих ответов по двум причинам:

  • Как-то ни один из перечисленных ответов не разрешил мою проблему.
  • Я не мог найти "Включить управление зависимостями" в Maven. Я использую Eclipse 4.4.2 build на Wed, 4 Feb 2015.

Что помогло мне, это еще один вариант под Maven, называемый "Update Project", а затем, когда я нажимаю на него, открывается это окно, в котором есть флажок "Force update of Snapshot/Releases". Реальная цель этого флажка различна, я знаю, но каким-то образом он разрешил проблему с зависимостями. введите описание изображения здесь

Ответ 15

Я тоже встретил эту проблему. Когда я добавляю зависимости в pom.xml, я проверил в локальной папке /Users/xyz/.m2/, и банки уже загружены там, но не смогли добавить путь построения затмения.

Моя версия eclipse: Выпуск Mars.2 (4.5.2)

проект правой кнопки мыши > Maven > Разрешить разрешение рабочей области

И это решило мою проблему.

Ответ 16

Как правило, вы можете скопировать файл .classpath из рабочего проекта, поскольку здесь нет ничего конкретного проекта, предполагающего, что вы структурированы как стандартный проект Maven.

Ответ 17

Это работало для меня в Eclipse Oxygen (4.7.0):

Щелкните правой кнопкой мыши Project → Maven → Выберите Maven Profiles... затем проверьте окно Repository Proxy, нажмите OK.