it-swarm.com.ru

Как добавить библиотеку "Maven Managed Dependencies" в затмение пути сборки?

Я создал проект Maven и хочу добавить все зависимости Maven в путь сборки проекта в Eclipse. Когда я иду в «Путь сборки Java»> «Добавить библиотеку»> «Управляемая зависимость Maven»> «Далее» в диалоговом окне свойств проекта, он просит меня использовать «Настройка проекта Maven» для настройки разрешения зависимостей Maven.

Мой вопрос: как добавить зависимости maven в текущий путь сборки?

60
Amit Patel

из командной строки введите:

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
46
ftravers

Если у вас установлена ​​ m2e , и проект уже является проектом maven, но зависимости maven по-прежнему отсутствуют, самый простой способ, который работал для меня, был

  • щелкните правой кнопкой мыши проект,
  • Maven,
  • Обновить проект ...

Eclipse screenshot

33
schnatterer

У меня та же проблема с использованием SpringSource Tool Suite. Я импортировал существующий проект Maven, который работал из командной строки. Однако, когда я импортировал проект, используя import -> Maven -> существующий проект Maven, проект не импортировал правильно импорт, и я не смог добавить библиотеку управляемых зависимостей 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.

Поэтому я рекомендую снимать части пом 1 на 1, пока вы не сможете успешно создать проект. Просто продолжайте запускать maven -> update configuration после каждого редактирования pom, пока он не заработает как надо. Я обычно начинаю с удаления блоков тегов конфигурации плагина по одному, начиная с самых подозрительных (то есть самых сложных).

После того, как он будет должным образом обработан, вы можете перевернуть помпу, и она все равно должна работать как положено.

После того, как я запустился, я бы исследовал конфигурацию (и), которые нарушают работу, чтобы попытаться выяснить, что такое «правильное» исправление (в любом случае, согласно m2Eclipse).

Надеемся, что этот подход приведет к окончательному решению, а не к хакерскому обходному пути!

11
Marquee

Убедитесь, что ваша стратегия упаковки, определенная в вашем pom.xml, не является «pom». Это должен быть «баночка» или что-то еще. Как только вы это сделаете, обновите свой проект, щелкнув правой кнопкой мыши по нему и перейдя в Maven -> Обновить проект ...

10
Pedro Madrid
  • Установите плагин M2E.
  • Щелкните правой кнопкой мыши свой проект и выберите «Настройка» -> «Преобразовать в проект Maven».

enter image description here

  • Затем в вашем проекте появится файл pom.xml. Дважды щелкните pom.xml, выберите вкладку Dependency, чтобы добавить банки, от которых зависит ваш проект.
7
smwikipedia

Вы можете установить M2Eclipse и открыть проект как проект maven в Eclipse. Это создаст необходимую конфигурацию и записи. 

Это также полезно для последующих обновлений пом. С плагином Maven Eclipse вам нужно будет вручную переконфигурировать конфигурацию Eclipse для каждого изменения. 

6
Raghuram

Если Maven-> Update Project у вас не работает? Это шаги, которым я неукоснительно следую . Удалите проект из Eclipse (не удаляйте его из рабочей области) Закройте Eclipse Перейдите на командной строки и выполните эти команды.

mvn Eclipse:clean
mvn Eclipse:eclipse -Dwtpversion=2.0

Откройте Eclipse Импортируйте существующий проект Maven . Вы увидите зависимость maven в нашем проекте.

Надеюсь, это работает.

2
Sabarish

Я мог бы выяснить проблему. Я получил следующее предупреждение при запуске 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

Я изменил файл Eclipse.ini и добавил следующий и перезапустил Eclipse

-vm
C:/Program Files/Java/jdk1.6.0_21/bin/javaw.exe

Теперь я вижу библиотеку «Maven Dependency», автоматически включаемую в путь сборки Java.

2
Amit Patel

Следуй этим шагам

1) Зайди в проекты по пути классов 

2) Зайдите во вкладку библиотеки

3) нажмите Добавить библиотеку

4) В открывшемся диалоге выберите Maven Managed Dependencies

5) Нажмите Далее

6) В новом диалоге нажмите «Управление настройками проекта».

7) В открывшемся диалоге установите флажок Разрешить зависимости из рабочей области.

8) Нажмите на Восстановить настройки по умолчанию

9) Это сделает некоторый процесс, и теперь у вас будут все зависимости в вашей библиотеке.

1
raj

Если вы используете плагин Eclipse для выполнения своих задач maven (их 2: M2ecipse из sonatype «официальный» и q4e в Google Code), то в контекстных меню (щелкните правой кнопкой мыши по проекту) есть варианты, которые нужно выполнить: это безболезненно.

Вы можете одновременно запускать оба плагина в рабочей среде Eclipse и использовать их независимо для каждого проекта.

0
Alain Pannetier

Попробуйте: Щелкните правой кнопкой мыши свой проект-> Maven-> Отключить управление зависимостями . И снова включите управление зависимостями.

0
ChangePicture

Вы также можете подумать о 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», и maven скопирует все необходимые зависимости в каталог your_project_path/target/your_project_name/WEB-INF/lib /. Оттуда вы можете скопировать их в ваш проект/lib dir и добавить в качестве внешних jar-файлов (настройка параметров вашего проекта buildpath)

0
Picrochole

Если вы случайно удалили зависимость Maven из библиотеки. Добавьте ниже в pom.xml

<build>     
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
</build>
0
Guest