it-swarm.com.ru

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

115
James Goodwin

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

107
Buhb

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

mvn Eclipse:clean

с последующим 

mvn Eclipse:eclipse

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

60
davek

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

  1. Если вы создали проект «Java» в Eclipse (Ctrl + N> Java Project), то щелкните правой кнопкой мыши проект в представлении Package Explorer и перейдите к Maven> Включить управление зависимостями (в зависимости от исходной структуры проекта вы можете изменить ее так, чтобы она соответствовала структуре maven, например, добавив src/Java к исходным папкам на пути сборки). 

  2. Если вы создали «Maven Project» в Eclipse (Ctrl + N> Maven Project), то он уже должен быть «Maven ready».

  3. Если вы создали проект Maven вне Eclipse (вручную или с архетипом), просто import в Eclipse (щелкните правой кнопкой мыши в представлении Package Explorer и выберите Import). ..> Maven Projects) и это будет "Maven ready".

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

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

28
Pascal Thivent

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

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

14
DevJav

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

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

Спасибо

14
Apurva Singh

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

Щелкните правой кнопкой мыши по проекту -> настроить -> преобразовать в проект maven . Щелкните правой кнопкой по проекту -> maven -> добавить зависимости.

9
madhu_karnati

В Eclipse (Mars) отправляйтесь в:

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

5
Thomas Beer

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

enter image description here

4
borjab

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

mvn Eclipse:m2Eclipse

или, если вы не используете m2Eclipse:

mvn Eclipse:eclipse
2
EJB

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

1
JBoy

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

1
Mearde

Добавление моих ответов по нескольким причинам: 

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

Что помогло мне, так это еще одна опция в Maven, называемая «Обновить проект», а затем, когда я щелкаю по нему, открывается это окно, в котором есть флажок «Принудительное обновление снимка/выпусков». Я знаю, что настоящая цель этого флажка другая, но каким-то образом он решил проблему с зависимостями. enter image description here

1
Saurabh Patil

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

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

0
Karun

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

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

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

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

0
Eddy

Ничто из этого не решило мою проблему. но я нажал на pom.xml, внизу есть вкладка с названием зависимости. на этой вкладке он разделен на 2 раздела: один называется зависимостями, а другой называется управлением зависимостями. выберите каждую вещь в разделе зависимостей и нажмите кнопку Добавить, чтобы находиться под управлением управления зависимостями. закройте и снова откройте ваш проект.

0
amralieg

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

0
Puneet Lamba

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

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

0
Juha Syrjälä

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

Щелкните правой кнопкой мыши Project -> Maven -> Select Maven Profiles ..., затем установите флажок Rexy репозитория и нажмите OK.

0
r590