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

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

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

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

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

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


person roemer    schedule 08.12.2014    source источник


Ответы (4)


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

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

Вы можете закомментировать

<!--
<plugin>
    <groupId>com.google.appengine</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    <version>${appengine.target.version}</version>
</plugin>
-->
, чтобы решить проблему, но при этом вы потеряете возможности командной строки плагина. Вы можете получить лучшее из обоих миров (командной строки Eclipse и Maven), используя Профили Maven:

person nothingtodohere    schedule 19.12.2014
comment
Да, я использую плагин Google App Engine Tools для Maven (dl.google.com/eclipse /плагин/4.4). - person roemer; 19.12.2014
comment
Хорошо, я могу это подтвердить, но все же было бы неплохо установить фиксированный плагин pom/maven! - person nothingtodohere; 20.12.2014
comment
@nothingtodohere Вы также можете использовать профили Maven, см. отвечать. - person roemer; 21.12.2014
comment
java.lang.NullPointerException в com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.getGaeRuntime(GaeRuntimeManager.java:85) в com.google.appengine.eclipse.wtp.maven.GaeRuntimeManager.ensureGaeRuntimeWithSdk(GaeRuntimeManager.java:55) ) по адресу com.google.appengine.eclipse.wtp.maven.GaeFacetManager.addGaeFacet(GaeFacetManager.java:59) по адресу com.google.appengine.eclipse.wtp.maven.GaeProjectConfigurator.configure(GaeProjectConfigurator.java:46) по адресу org. eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:120) в org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:477) в org.eclipse.m2e .core.internal.project.ProjectConfigurationManager$3.call(ProjectConfigurationManager.java:1) в org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:166) в org.eclipse.m2e.core. внутренний.embedder.MavenExecut ionContext.execute(MavenExecutionContext.java:142) в org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:470) в org.eclipse.m2e.core.internal.project.ProjecturationManager.configureNewMavenProjects( ProjectConfigurationManager.java:250) в org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager.java:163) в org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$1.call(ProjectConfigurationManager. java:1) в org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:166) в org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:142) в org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:96) в org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1348) в org .eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:133) в org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob$1.doCreateMavenProjects(ImportMavenProjectsJob.java:73) в org. eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:62) в org.eclipse.m2e.core.ui.internal.wizards.ImportMavenProjectsJob.runInWorkspace(ImportMavenProjectsJob.java:82) в org. eclipse.core.внутренние.ресурсы. InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) в org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) - person Gilberto Torrezan; 21.05.2015

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

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

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

mvn appengine:update -P gae

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

person Gilberto Torrezan    schedule 21.05.2015

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

  1. Отключите JPA Validator как для ручной проверки, так и для проверки сборки.
  2. похоже, это дубликат Во время обновления Maven Project произошла внутренняя ошибка. java.lang.NullPointerException

Выберите Windows > Настройки > Проверка.

person Luzius    schedule 15.05.2015

добрался до настроек/Сервер/Среда выполнения

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

Ну, я все равно не использую сервер maven dev, но как насчет развертывания? Используете ли вы плагин eclipse gae для этих задач?

person fedevo    schedule 08.09.2015