Ответ 1
Если вы щелкните правой кнопкой мыши на своем проекте, в разделе "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 управляет зависимостями?
Если вы щелкните правой кнопкой мыши на своем проекте, в разделе "maven" должна быть опция "включить управление зависимостями". Что это.
если вы выполните
mvn eclipse:clean
за которым следует
mvn eclipse:eclipse
если вы подготовите файл eclipse .classpath
для вас. То есть эти команды запускаются против maven из командной строки, то есть вне eclipse.
Я предполагаю, что вы используете 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. В этом нет никакой необходимости, это будет путать, это породит беспорядок. Нет, действительно, не используйте его, если вы действительно не знаете, что делаете.
Щелкните правой кнопкой мыши на проекте Configure > convert to Maven project
Затем вы можете увидеть все связанные с Maven меню для вашего проекта.
Мне понравилось это.
Щелкните правой кнопкой мыши по проекту → configure → convert to maven project. Щелкните правой кнопкой мыши по проекту → maven → добавить зависимости.
Добавьте это в файл .classpath..
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
спасибо
Я не нашел меню maven или configure, но нашел следующую кнопку, которая решила мою проблему:
В Eclipse (Mars) перейдите к:
Свойства проекта → Maven. Убедитесь, что "Разрешить зависимости от проектов рабочей области" отключено.
Когда m2eclipse установлен правильно, он должен автоматически добавлять зависимости. Однако вы должны сгенерировать файлы проекта eclipse, введя:
mvn eclipse:m2eclipse
или, альтернативно, если вы не используете m2eclipse:
mvn eclipse:eclipse
У меня была небольшая вариация, вызвавшая некоторые проблемы - несколько подпроектов в рамках одного проекта. В этом случае мне нужно было войти в каждую отдельную папку, содержащую POM, выполнить команду mvn eclipse: eclipse, а затем вручную скопировать/объединить записи в classpath в файл пути к проекту.
Возможно, вы могли бы заглянуть в maven-eclipse-plugin вместо M2Eclipse.
Там вы в основном добавляете конфигурацию maven-eclipse-plugin в свой pom.xml, а затем выполняете mvn eclipse:eclipse
, который будет генерировать требуемые файлы .project
и .classpath
для Eclipse. Тогда у вас будет правильный путь сборки в Eclipse.
Для более новых версий Eclipse ( >= Mars) щелкните правой кнопкой мыши по проекту > configure > convert to Maven project
Убедитесь, что ваш POM соответствует соглашению об именах и назван в строчной букве как pom.xml
и NOT pom.xml
.
В моем случае все было правильно, но Eclipse все еще жаловался при попытке щелкнуть правой кнопкой мыши и Update project configuration
- сказал мне, что POM не может быть прочитан. Изменено имя в нижнем регистре - pom.xml
от pom.xml
- и оно сработало.
Добавление моих ответов по двум причинам:
Что помогло мне, это еще один вариант под Maven, называемый "Update Project", а затем, когда я нажимаю на него, открывается это окно, в котором есть флажок "Force update of Snapshot/Releases". Реальная цель этого флажка различна, я знаю, но каким-то образом он разрешил проблему с зависимостями.
Я тоже встретил эту проблему. Когда я добавляю зависимости в pom.xml
, я проверил в локальной папке /Users/xyz/.m2/
, и банки уже загружены там, но не смогли добавить путь построения затмения.
Моя версия eclipse: Выпуск Mars.2 (4.5.2)
проект правой кнопки мыши > Maven > Разрешить разрешение рабочей области
И это решило мою проблему.
Как правило, вы можете скопировать файл .classpath из рабочего проекта, поскольку здесь нет ничего конкретного проекта, предполагающего, что вы структурированы как стандартный проект Maven.
Это работало для меня в Eclipse Oxygen (4.7.0):
Щелкните правой кнопкой мыши Project → Maven → Выберите Maven Profiles... затем проверьте окно Repository Proxy, нажмите OK.