Внутренняя ошибка произошла во время: "Обновление проекта Maven". java.lang.NullPointerException

Я разрабатываю веб-проект Java EE. Когда я пытаюсь добавить зависимость, появляется это сообщение об ошибке. Я использую Eclipse Kepler.

Внутренняя ошибка произошла во время: "Обновление проекта Maven". java.lang.NullPointerException

Не могли бы вы мне помочь? Спасибо.

enter image description here

Ответ 1

Я решил решить проблему, удалив папку .settings и .project в проекте, а затем повторно импортирую проект.

Ответ 2

Для меня работал ответ, который я нашел на CodeRanch, пользователем Maneesh Godbole:

  • Закрыть eclipse.
  • Перейдите в папку "Рабочая область"
  • Убедитесь, что настройка на вашей ОС для просмотра скрытых файлов включена.
  • Идентифицировать и удалять каталог. metadata​​li >
  • Перезапустить eclipse
  • Импорт проекта

Ответ 3

У меня была такая же проблема в одном из моих модулей.

Запуск "mvn eclipse: eclipse" в консоли /cmd решил проблему для меня.

Ответ 4

В нашем примере этой проблемы у нас были файлы pom.xml, где конфигурация отображения жизненного цикла m2e

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
...

не было части <version>1.0.0</version>. Когда вы делаете Maven → Update Project..., это приводит к сообщению NullPointerException без трассировки стека. При использовании нового импорта... → Существующие проекты Maven, произошло то же самое исключение, но с трассировкой стека, которая заставила меня найти выше.

(Это с m2e 1.6.1.20150625-2338 в Eclipse Luna Service Release 2 (4.4.2).)

Ответ 5

В случае, если это помогает кому-либо, кроме удаления .settings и .project, мне пришлось удалить .classpath и .factorypath, прежде чем сможете успешно импортировать проект в Eclipse.

Ответ 6

файл org.eclipse.m2e.core.prefs находится в папке .settings. Если вы столкнулись с проблемой

An internal error occurred during: "Updating Maven Project". java.lang.NullPointerException

Удалите проект из eclipse, а затем удалите папку .settings и .project в проекте → , затем повторно импортируйте проект.

Ответ 7

Это помогло мне: Project menu -> Clean... -> clean all projects

Ответ 8

удаление локального хранилища maven помогло мне

Ответ 9

Eclipse имеет журнал ошибок. Там вы увидите полную трассировку стека. В моем случае это, по-видимому, вызвано плохим файлом jar в сочетании с java.util.zip libs, не генерирующим правильное исключение, просто исключение NullPointerException.

Ответ 10

Я использую:

Eclipse Java EE IDE для веб-разработчиков.

Версия: Neon.3 Release (4.6.3) Идентификатор сборки: 20170314-1500

Исправление/хитрость для меня было удаление моего локального репозитория в ~/.m2/repository, чтобы удалить локальные зависимости и перестроить мой проект, в котором новые зависимости были удалены.

Ответ 11

У меня была та же проблема. Ни одно из решений здесь не работало. Мне пришлось полностью переустановить eclipse и создать новое рабочее пространство. Тогда это сработало!

Ответ 12

Ни один из вышеперечисленных методов не работал у меня. Это может также возникнуть из-за наличия циклической зависимости в рабочем пространстве eclipse. Поэтому, если в любом из других проектов в вашей рабочей области есть какие-либо другие ошибки, попробуйте исправить их, и тогда эта проблема исчезнет. Вот как я устранил ошибку.

Ответ 13

У меня была такая же проблема для нескольких проектов и нескольких рабочих областей, ни одно из решений, которые я нашел в Интернете, не работало для меня. Я использую STS, и единственное, что работало, это войти в мой каталог STS и добавить "-clean" в начало файла STS.ini. Затем вы можете запустить свое рабочее пространство и запустить maven без ошибок. (вы также можете удалить тег -clean из ini файла, чтобы он не очищался каждый раз, когда вы его запускали)

Надеюсь, это поможет кому-то.

Ответ 14

Коренной проблемой в моем случае был конфликт файлов в папке .settings. Таким образом, удаление папки .settings разрешило бы ошибку Maven, но я хотел сохранить некоторые из моих локальных файлов конфигурации. Я разрешил конфликт, а затем снова попробовал обновление Maven, и он сработал.

Ответ 15

У меня было то же самое... решение в конце!

здесь журнал затмения:

java.lang.NullPointerException
    at com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.getGaeRuntime(GaeRuntimeManager.java:85)
    at com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.ensureGaeRuntimeWithSdk(GaeRuntimeManager.java:55)
    at com.google.appengine.eclipse.wtp.maven.GaeFacetManager.addGaeFacet(GaeFacetManager.java:59)
    at com.google.appengine.eclipse.wtp.maven.GaeProjectConfigurator.configure(GaeProjectConfigurator.java:46)

... он исходит из "appengine maven wtp plugin", который пытается получить тип исполняемого файла GAE, но здесь он здесь null (... getRuntimeType() → NPE):

см. класс com.google.appengine.eclipse.wtp.maven/GaeRuntimeManager.java

  private static IRuntime getGaeRuntime(String sdkVersion) {
    IRuntime[] runtimes = ServerCore.getRuntimes();
    for (IRuntime runtime : runtimes) {
      if (runtime != null &&  **runtime.getRuntimeType()**.equals(GAE_RUNTIME_TYPE)) {

Итак, если вы закроете eclipse, Google App Engine будет виден, но когда вы его выберете, вы увидите, что SDK не связан... preference/Server/Runtime environment

РЕШЕНИЕ: на красном на снимке экрана; -)

Ответ 16

Я столкнулся с этим же симптомом, и ни одно из вышеперечисленных решений не помогло. Я наконец получил трассировку стека проблемы, импортируя проект уха снова, чтобы затмить, и смог проследить это до org.eclipse.m2e.wtp.MavenDeploymentDescriptorManagement, который пытался удалить каталог в каталоге временных файлов Windows под названием ".mavenDeploymentDescriptorManagement", что вызвало иррациональное исключение NullPointerException из метода java.io.File.exists(), особенно потому, что код уже успешно выполнил то же самое в предыдущем методе с той же переменной, а затем вызвал file.isFile() без проблема.

Проверка этого файла в файловой системе показала, что доступ к файлу возможен только с правами администратора. По-видимому, я в какой-то момент запустил eclipse с консоли администратора по ошибке. В конце я только что сделал скрытые файлы видимыми в Windows Explorer и удалил временный файл вручную, что решило проблему.

Ответ 17

Еще один возможный источник проблемы!

Я узнал, что в моем случае это был следующий resource блок, который вызвал его:

<project>
    <build>
        <resources>
            <resource>
                <directory>${basedir}/../some-folder</directory>
                <targetPath>outputFolder</targetPath>
            </resource>
        <resources>
    </build>
</project>

В него включена папка из папки проекта (проект eclipse - это подпапка папки с версией проекта).

В моем случае я мог удалить ошибку, удалив блок и заменив его вызовом Помощник сборки Плагин Maven:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.9.1</version>
            <executions>
                <execution>
                    <id>my-own-very-cool-id-for-this-step</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>add-resource</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>${basedir}/../some-folder</directory>
                                <targetPath>outputFolder</targetPath>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Ответ 18

Мне пришлось переустановить eclipse, удалить папку .m2 и перестроить банки.

Ответ 19

В моем случае проблема заключалась в конфликте производных зависимостей, которые использовались другими зависимостями, и некоторые из этих версий производных зависимостей были недоступны, возможно, потому, что некоторые развертывания, которые я забыл сделать, потому что с разрешением рабочей области все работало, но при перемещении в другой среде все внезапно сломалось. А также я работал с диапазонами версий

maven давал мне эту ошибку:

Не удалось разрешить зависимости для проекта MyProject: MyProject: jar: 1.0.0: Не удалось разрешить конфликт версий между Зависимостью-A: 1.0.1 → Зависимость-B: 1.1.0 → Зависимость-C: 1.0.0, Зависимость- X: 1.0.1 → Зависимость-Y: 1.1.0 → Зависимость-C: 1.0.0, Зависимость-I: 1.0.1 → Зависимость-J: 1.1.0 → Зависимость-C: 1.0.0

Я перепробовал все выше и ничего не получалось, так что...

РЕШЕНИЕ: используйте LATEST в качестве версии во всех зависимостях, поэтому maven не нужно разрешать все зависимости в диапазонах, которые следует использовать с осторожностью, потому что, если вы пропустите развертывание одной из зависимостей, сборка не удастся