Как настроить путь сборки 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 управляет зависимостями?

+107
источник поделиться
17 ответов

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

+102
источник

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

mvn eclipse:clean

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

mvn eclipse:eclipse

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

+55
источник

Я предполагаю, что вы используете 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. В этом нет никакой необходимости, это будет путать, это породит беспорядок. Нет, действительно, не используйте его, если вы действительно не знаете, что делаете.

+27
источник

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

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

+13
источник

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

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

+9
источник

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

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

спасибо

+6
источник

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

enter image description here

+4
источник

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

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

+4
источник

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

mvn eclipse:m2eclipse

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

mvn eclipse:eclipse
+2
источник

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

+1
источник

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

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

0
источник

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

0
источник

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

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

0
источник

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

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

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

0
источник

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

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

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

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

0
источник

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

0
источник

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

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

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос