Отсутствующие зависимости Maven в проекте Eclipse - PullRequest
95 голосов
/ 24 ноября 2010

У нас есть проект с maven для разрешения зависимостей.Обычно он работает нормально, но сейчас я пытаюсь скомпилировать и запустить его на новом ПК, и у меня есть проблема с отсутствующими зависимостями в Eclipse.

Что забавно, если я запускаю "mvn package" в консолив затмении он работает нормально и даже производит войну, содержащую все необходимые банки.Только Eclipse жалуется: «Проект не был собран, поскольку его путь сборки не полный. Не удается найти файл класса для org.slf4j.Logger ...».Если я сравниваю проект с другим компьютером (на котором проект работает нормально), я замечаю, что в списке «Maven зависимостей» в Eclipse отсутствует несколько библиотек.Даже если они находятся в упакованной войне, и их также можно найти в папке репозитория.

Итак, jar-ы есть, просто Eclipse не перечислит их всех в разделе «Maven зависимости».Что я могу сделать?

Компьютер работает под управлением Windows 7 с 64-битной java & eclipse.

Ответы [ 33 ]

4 голосов
/ 08 апреля 2016

Следующие шаги сработали в моем случае:

1 При затмении щелкните правой кнопкой мыши нужный проект Maven -> Отключить Maven Nature

2 Снова щелкните правой кнопкой мыши и перейдите к Свойства .Удалите все доказательства внешней зависимости Maven, оставив только системную библиотеку JRE.

3 Еще раз щелкните правой кнопкой мыши по проекту, затем перейдите к Настройка -> Преобразовать в проект Maven

3 голосов
/ 25 февраля 2015

Ни одно из приведенных выше решений не сработало для меня, поэтому этот ответ для всех остальных в моей ситуации.В конце концов я сам нашел проблему и другое решение.Файл pom.xml содержал тег dependencyManagement, который обернул зависимости, и M2Eclipse не добавлял папку Maven Dependencies, когда она присутствовала.Итак, я удалил этот тег, затем выполнил решение, предлагаемое Уальтером-младшим, и Eclipse немедленно добавила отсутствующую папку!

3 голосов
/ 04 августа 2018

Вот шаги, которым я следовал.1. Удален Maven проект из затмения.2. Удалил все файлы (.setting / .classpath / target), кроме src и pom, из моей исходной папки.3. снова импортирован как проект maven4. построить его снова, вы должны увидеть maven-зависимости.

1 голос
/ 09 августа 2012

Если у вас есть ошибки «вложенных путей» после выполнения Maven -> Обновить конфигурацию проекта (или в Juno это «Обновить конфигурацию ...»), тогда ваш путь сборки неверно настроен.

Щелкните правой кнопкой мыши проект -> Build Path -> Configure Build Path

Убедитесь, что включены только '/ src' и каталоги этого уровня.Если у вас есть, например, «/ src», а также «/ src / main / resources», это неверно.Второй ресурс ('/ src / main / resources') «вложен» в первый ('/ src'), что приводит к невозможности импорта ресурсов, поскольку не позволяет затмению видеть зависимости maven.

1 голос
/ 18 октября 2012

Моя проблема звучит похоже, поэтому я добавлю к обсуждению.Я отменил импорт существующего проекта maven в Eclipse, что привело к тому, что ему не было разрешено обновляться, и я не смог правильно завершить построение рабочего пространства.* и в Цели я ввел dependency:go-offline и запустил его.

Затем я щелкнул правой кнопкой мыши по проекту и выбрал Maven -> Update Project... и обновил этот конкретный проект.

Это наконец позволило ему создать исходные папки и завершить импорт.

1 голос
/ 26 июня 2015

Вот как я это решил

  • Окно-> Настройки: Maven-> Настройки пользователя (в открывшемся окне нажмите «открыть файл» или просто отредактируйте файл settings.xml с помощью внешнего текстового редактора, такого как Блокнот) Убедитесь, что localRepository (который отображается в этом окне) является правильным. У меня была опечатка в моем файле.
  • После того, как вы исправили файл settings.xml, нажмите «Обновить настройки», который находится на том же экране «Настройки» -> «Maven» -> «Настройки пользователя».

Теперь перестройте, и он установит последние JAR-файлы в правильное место.

1 голос
/ 03 февраля 2015

Для меня было достаточно добавить buildCommand (org.eclipse.m2e.core.maven2Builder) и природу (org.eclipse.m2e.core.maven2Nature) в файл .project, например:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>iText</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

и у меня было enter image description here

1 голос
/ 03 апреля 2016

У меня была похожая проблема, и я попробовал все ответы в этом посте.Самым близким к решению этой проблемы я оказался, объединив решения Джозефа Люста и Пола Криза.Я добавил резервный файл pom.xml после удаления и повторного импорта проекта, и ничего не показывалось, пока я не удалил тег управления зависимостями в файле pom.xml и волшебным образом там оказалась папка зависимостей.до дочерних POM, так как они нуждаются в родительском управлении зависимостями pom.xml для работы, и в результате мой MVN не работал должным образом в проекте ни из Eclipse, ни из командной строки, что приводило к ошибке pom.xml.1004 * Последнее решение, если все не удалось, - это вручную импортировать файлы .jar, необходимые для вашего проекта.Щелкните правой кнопкой мыши на свойства проекта -> Путь сборки Java -> Библиотеки и добавьте внешний Jar.

Если ваш MVN работает правильно из командной строки и вы успешно выполнили сборку проекта, у вас будут всерепозитории нужны в вашей папке .m2 / repository.Добавьте все внешние jar, упомянутые в вашем теге зависимостей pom.xml, и вы увидите секцию библиотеки, на которую ссылаются, в вашем Eclipse, со всеми острыми красными ошибками.позволяет работать в Eclipse без каких-либо ошибок отсутствующих зависимостей, а также позволяет создавать проект Maven как из Eclipse, так и из командной строки.

1 голос
/ 13 октября 2016

Эта же проблема возникла у меня, и это произошло из-за ошибки при загрузке фляги из-за проблем с репозиторием, отмеченных красным флажком в pom.xml.

Я добавил еще один репозиторий, поэтому красный флаг в pom.xml исчез, и Eclipse снова загрузил pom, решил проблему и перечислил зависимости maven в Project Explorer. это кажется простым и очевидным для разрешения видимых проблем, но поскольку Eclipse был вполне счастлив запустить maven и успешно выполнить сборку, было неочевидно, что проблема с красным флагом и репо была в корне нежелания анализировать pom и выводить список maven. зависимости

1 голос
/ 20 октября 2013

Я мог решить ошибку 1) Щелкните правой кнопкой мыши (ваш проект maven) -> maven -> maven install

После успешной установки

2) Щелкните правой кнопкой мыши (ваш проект maven) -> maven -> обновить проект. И вся ошибка Maven была решена!

...