Как добавить библиотеку Maven Managed Dependencies в пути построения eclipse?
Я создал проект Maven
, и я хочу добавить все зависимости Maven
в путь сборки проекта в Eclipse
. Когда я перехожу к Java Build Path > Add Library > Maven Managed Dependency > Next в диалоговом окне свойств проекта, он просит меня использовать "Maven Project Setting" для настройки разрешения зависимостей Maven.
Мой вопрос заключается в том, как добавить зависимости maven в текущий путь сборки?
Ответы
Ответ 1
из командной строки:
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
Ответ 2
Если у вас установлен m2e, и проект уже является проектом maven, но все равно отсутствуют зависимости maven, самый простой способ, который работал у меня, -
- щелкните правой кнопкой мыши проект,
- Maven,
- Обновить проект...
![Eclipse screenshot]()
Ответ 3
У меня такая же проблема с использованием SpringSource Tool Suite. Я импортировал существующий проект Maven, который отлично работал в командной строке. Однако, когда я импортировал проект с использованием import → Maven → существующего проекта Maven, проект не импортировал корректный импорт, и я не смог добавить библиотеку зависимых зависимостей maven к пути сборки.
Если я запустил mvn install из командной строки, проект был успешно выполнен. Если я запустил mcln 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
Обходной путь, который я написал выше, будет работать временно, и я никогда не обнаруживал никаких отрицательных побочных эффектов. Тем не менее, у меня была эта проблема несколько раз сейчас, и каждый раз проблема заключается в том, что есть часть раздела, в котором maven принимает, но m2eclipse barfs включен.
Поэтому я рекомендую удалить части pom 1 на 1, пока вы не сможете успешно очернить проект. Просто продолжайте работать maven → update configuration после каждого редактирования pom, пока он не будет работать так, как должен. Обычно я начинаю с удаления блоков тегов конфигурации плагина по одному, начиная с наиболее подозрительных (т.е. Наиболее сложных).
Как только он изменяет правильность, вы можете вернуть pom, и он все равно будет работать, как ожидалось.
После того, как я начну работать, я исследую оскорбительную конфигурацию (ы), чтобы попытаться выяснить, что такое "правильное" исправление (в любом случае, в соответствии с m2eclipse).
Надеюсь, этот подход приведет к постоянному решению, а не к урегулированию хакерского обходного пути!
Ответ 4
Убедитесь, что ваша стратегия упаковки, определенная в вашем pom.xml, не является "pom". Это должно быть "jar" или что-то еще. После этого обновите свой проект, щелкнув правой кнопкой мыши на нем и перейдите в Maven → Update Project...
Ответ 5
Вы можете установить M2Eclipse и открыть проект как проект maven в Eclipse. Он создаст необходимую конфигурацию и записи.
Это также полезно для последующих обновлений для pom. С плагином maven eclipse вам нужно будет вручную восстановить конфигурацию eclipse для каждого изменения.
Ответ 6
- Установите плагин M2E.
- Щелкните правой кнопкой мыши свой проект и выберите "Настроить → Преобразовать в проект Maven".
![enter image description here]()
- Затем в вашем проекте появится файл pom.xml. Дважды щелкните pom.xml, выберите вкладку Dependency, чтобы добавить банки, от которых зависит ваш проект.
Ответ 7
Я мог бы выяснить проблему. Я получил следующее предупреждение при запуске 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 are also using JDK installs
Я изменил файл eclipse.ini и добавил следующее и перезапустил eclipse
-vm
C:/Program Files/java/jdk1.6.0_21/bin/javaw.exe
Теперь я вижу, что библиотека "Maven Dependency" автоматически включается в путь сборки Java.
Ответ 8
Если Maven- > Update Project не работает для вас?
Это шаги, которые я придерживаюсь.
Удалите проект из eclipse (не удаляйте его из рабочего пространства)
Закрыть Eclipse
перейдите в командную строку и запустите эти команды.
mvn eclipse:clean
mvn eclipse:eclipse -Dwtpversion=2.0
Открыть Eclipse
импортировать существующий проект Maven.
Вы увидите зависимость maven в нашем проекте.
Надеюсь, что это сработает.
Ответ 9
Если вы используете плагин eclipse для выполнения своих задач maven (есть 2 из них: M2ecipse из соната типа "официальный" и q4e в Google Code), тогда в контекстных меню есть опции (щелкните правой кнопкой мыши по проекту ) сделать это безболезненно.
Вы можете одновременно запускать оба плагина в своем рабочем столе eclipse и использовать их равномерно на основе каждого проекта.
Ответ 10
Попробуйте: Щелкните правой кнопкой мыши свой проект- > Maven- > Disable Dependency Management.
И снова включите управление зависимостями.
Ответ 11
Вы также можете подумать о подключении maven-dependency к вашему 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 и добавить в качестве внешних банок (конфигурирование пути сборки проекта)