Как добавить библиотеку 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 и добавить в качестве внешних банок (конфигурирование пути сборки проекта)