Как добавить библиотеку" управляемые зависимости Maven " в путь сборки eclipse?
Я создал Maven
проект и я хочу добавить все Maven
зависимости в пути сборки проекта в Eclipse
. Когда я перехожу к Java Build Path > Add Library > Maven Managed Dependency > далее в диалоговом окне свойств проекта, он просит меня использовать "Maven Project Setting" для настройки разрешения зависимостей Maven.
мой вопрос заключается в том, как добавить зависимости maven в текущий путь сборки?
13 ответов:
из командной строки введите:
mvn eclipse:eclipse
это добавит все зависимости, которые у вас есть в вашем pom.xml в eclipse...
однако, если вы еще не сделали ничего из этого, прежде чем вам может понадобиться сделать еще один, один раз только шаг.
закройте eclipse, затем выполните следующую команду из оболочки:
mvn -Declipse.workspace=<eclipse workspace> eclipse:add-maven-repo
пример:
mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ eclipse:add-maven-repo
Если у вас m2e установлен, и проект уже является проектом maven, но зависимости maven все еще отсутствуют, самый простой способ, который работал для меня, был
- щелкните правой кнопкой мыши проект,
- Maven,
- Обновление Проекта...
у меня такая же проблема с помощью SpringSource Tool Suite. Я импортировал существующий проект Maven, который отлично работал из командной строки. Однако, когда я импортировал проект с помощью import - > Maven - > existing Maven project, проект не импортировал правильно импорт, и я не смог добавить библиотеку управляемых зависимостей maven в путь сборки.
если я запустил mvn install из командной строки, проект был успешно построен. Если я запустил mvn eclipse:eclipse, а затем импортировал в STS, тогда все работало так, как ожидалось, за исключением, конечно, мне пришлось бы повторно запускать это каждый раз, когда я обновлял pom, что было нежелательно.
Я работал вокруг него, запустив
mvn eclipse:eclipse
а потом обновить вручную .classpath для устранения зависимостей M2_REPO, добавленныхeclipse:eclipse
и добавление записи зависимости m2eclipse:<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry>
затем я импортировал существующий проект Maven и он работал, как ожидалось.
это хак, и я не уверен, что другие последствия работает
eclipse:ecplise
при работе с m2eclipse. Но это, по крайней мере, позволило мне получить компиляцию моего проекта, чтобы я мог перейти к кодированию.
изменить 1/4/2013
обходной путь, который я опубликовал выше, будет работать временно, и я никогда не обнаружил никаких негативных побочных эффектов. Тем не менее, у меня была эта проблема несколько раз, и каждый раз проблема в том, что есть какой-то раздел pom, который Maven принимает, но m2eclipse barfs on.
поэтому я рекомендую удаление частей пом 1 на 1, пока вы не можете mavenize проект успешно. Просто продолжайте запускать Maven - > update configuration после каждого редактирования pom, пока он не будет работать так, как должен. Обычно я начинаю с удаления блоков тегов конфигурации плагина по одному, начиная с самых подозрительных (т. е. самых сложных).
как только он mavenizes правильно, вы можете вернуть pom, и он все равно должен работать, как ожидалось.
после того, как я бегу, я бы исследовал обидчика конфигурация(ы), чтобы попытаться выяснить, что такое "правильное" исправление (в соответствии с m2eclipse, во всяком случае).
надеюсь, этот подход приводит к постоянному решению вместо того, чтобы довольствоваться халтурным обходным путем!
убедитесь, что ваша стратегия упаковки определена в вашем pom.xml-это не "pom". Это должна быть" банка " или что-нибудь еще. Как только вы это сделаете, обновите свой проект, щелкнув его правой кнопкой мыши и перейдите в Maven -> обновить проект...
- установить плагин M2E.
- щелкните правой кнопкой мыши проект и выберите Настроить -> преобразовать в Maven-проекта.
- затем пом.XML-файл будет отображаться в вашем проекте. Дважды щелкните пом.xml, выберите вкладку зависимости, чтобы добавить банки, от которых зависит ваш проект.
вы можете установить M2Eclipse и откройте проект как проект maven в Eclipse. Он создаст необходимую конфигурацию и записи.
Это также полезно для последующих обновлений пом. С Maven Eclipse плагин, вам нужно будет вручную восстановить конфигурацию eclipse для каждого изменения.
я мог бы решить эту проблему. Я получал следующее предупреждение при запуске eclipse.
The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDk. Please make sure the -vm option in eclipse.ini is pointing to a JDK and verify that Installed JRE's are also using JDK installs
Я изменил затмение.ini-файл и добавил следующее и перезапустил eclipse
-vm C:/Program Files/java/jdk1.6.0_21/bin/javaw.exe
теперь я вижу, что библиотека "Maven Dependency" автоматически включается в путь сборки java.
Если Maven - > проект обновления не работает для вас? Это шаги, которым я религиозно следую. Удалите проект из eclipse (не удаляйте его из рабочей области) Закрыть Затмение перейдите в командную строку и выполните следующие команды.
mvn eclipse:clean mvn eclipse:eclipse -Dwtpversion=2.0
Откройте Eclipse импорт существующего проекта Maven. Вы увидите зависимость maven в нашем проекте.
надеюсь, что это работает.
выполните следующие действия
1) Заходим в проекты класса path
2) Перейти в библиотеку tab
3) Нажмите на "добавить библиотеку"
4) В открывшемся диалоге выберите Maven управляемые зависимости
5) Нажмите кнопку Далее
6) в новом диалоге нажмите на Управление параметрами проекта
7) В открывшемся диалоге установите флажок Разрешить зависимости из рабочей области
8) Нажмите кнопку Восстановить по умолчанию
9) он будет делать некоторый процесс, и теперь у вас будут все ваши зависимости в вашей библиотеке.
Если вы используете плагин eclipse для выполнения своих задач maven (есть 2 из них : M2ecipse от sonatype "официальный" и q4e в коде Google), то в контекстных меню есть опции (щелкните правой кнопкой мыши на проекте), чтобы сделать это безболезненно.
вы можете иметь оба плагина, работающих в то же время в вашем Eclipse workbench и использовать их безразлично на основе каждого проекта.
попробуйте: щелкните правой кнопкой мыши ваш проект - >Maven - > отключить управление зависимостями. И снова включите управление зависимостями.
вы также можете рассмотреть возможность Maven-dependency-plugin для вашего pom:
<plugins> ... <plugin> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>process-resources</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> ... </plugins>
чем вы можете запустить "mvn package" и maven скопирует все необходимые зависимости в каталог your_project_path/target/your_project_name/WEB-INF/lib/. Оттуда вы можете скопировать их в свой проект / lib dir и добавить в качестве внешних банок (настройка параметров проекта buildpath)