Исключение затмения нулевого указателя для обновления проекта modulare maven

Я использую Eclipse 4.4.1 с плагином m2e и последними gae-зависимостями. Когда я импортирую пример проекта модуля gae, eclipse сообщает мне, что конфигурация проекта не обновлена. Если я запускаю предложенный проект обновления maven ->, я получаю NPE.

Есть много сообщений об ошибках в соответствии с NPE на обновлениях проекта там. До сих пор я пробовал это с mvn eclipse:eclipse или импортом проектов maven, в новых или существующих рабочих пространствах, но мне так и не удалось запустить проекты в eclipse.

Есть ли какие-либо решения для этого?

РЕДАКТИРОВАТЬ: Это трассировка стека:

java.lang.NullPointerException на com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.getGaeRuntime(GaeRuntimeManager.java:85) на com.google.appengine.eclipse.wtp.maven.GaeRuntimeManagerunW) на com.google.appengine.eclipse.wtp.maven.GaeFacetManager.addGaeFacet(GaeFacetManager.java:59) на com.google.appengine.eclipse.wtp.maven.GaeProjectConfigurator.configure(GaeProjectCongig46).eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) в org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java.m2elp at477).core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) в org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:166) в org.eclip.m.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:142) в org.eclipse.m2e.core.internal.project.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:163) в org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:1) в org.eclipse.me. core.internal.embedder.MavenExecutionContext.executeBare (MavenExecutionContext.java:166) в org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:142) в org.eclip embedder.MavenExecutionContext.execute(MavenExecutionContext.java:96) в org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1348) в org.eclipse.m2e.core.internal.fan.Project.Project.importProjects(ProjectConfigurationManager.java:133) at org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:73) в org.eclipse.m2e.core.ui.internal.wizards.AbstractProjectOateMase.java:62) по адресу org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:82) по адресу org.eclipse.core.internal.resources.InternalWorkspaceJob.run: InternalWorkjsp:) в org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

4 ответа

Решение

У меня была такая же проблема после обновления с Eclipse Kepler (4.3) до Luna (4.4). Комментируя плагин app-engine-maven из моего pom.xml, я его исправил.

<!--
<plugin>
    <groupId>com.google.appengine</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    <version>${appengine.target.version}</version>
</plugin>
-->

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

Вы можете закомментировать appengine-maven-plugin чтобы решить проблему, но при этом вы теряете возможности командной строки плагина. Вы можете получить лучшее из обоих миров (командная строка Eclipse и Maven), используя профили Maven:

<profiles>
    <profile>
        <id>gae</id>
        <build>
            <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>${appengine.target.version}</version>
            </plugin>
        </build>
    </profile>
</profiles>

Чтобы активировать его, например, чтобы развернуть проект из командной строки, вы можете сделать:

mvn appengine:update -P gae

При определении appengine-maven-plugin только внутри профиля, Eclipse не будет его использовать, и ошибка исчезнет. При использовании командной строки, просто не забудьте активировать ее, используя -P флаг.

У меня такая же проблема вдруг появилась в одном из моих проектов. Отключение валидатора JPA, похоже, решило проблему на данный момент.

  1. Выберите Windows > Настройки> Проверка
  2. Отключите JPA Validator как для проверки вручную, так и для проверки сборки

Это может быть связано с ошибкой "Файл persistence.xml не имеет распознанного содержимого", описанной здесь: www-01.ibm.com/support/docview.wss?uid=swg21616684 .

Похоже, дубликат внутренней ошибки произошла во время: "Обновление проекта Maven". java.lang.NullPointerException

попал в настройки / Сервер / Runtime Environemnt

-> выберите "Google App Engine" и привяжите действительный SDK к этой среде выполнения.

Другие вопросы по тегам