Исключение затмения нулевого указателя для обновления проекта 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, похоже, решило проблему на данный момент.
- Выберите Windows > Настройки> Проверка
- Отключите JPA Validator как для проверки вручную, так и для проверки сборки
Это может быть связано с ошибкой "Файл persistence.xml не имеет распознанного содержимого", описанной здесь: www-01.ibm.com/support/docview.wss?uid=swg21616684 .
Похоже, дубликат внутренней ошибки произошла во время: "Обновление проекта Maven". java.lang.NullPointerException
попал в настройки / Сервер / Runtime Environemnt
-> выберите "Google App Engine" и привяжите действительный SDK к этой среде выполнения.