在“更新Maven项目”期间发生内部错误。 显示java.lang.NullPointerException

我正在开发一个Java EE Web项目。 当我尝试添加依赖项时,会出现此错误消息。 我使用Eclipse开普勒。

在“更新Maven项目”期间发生内部错误。 显示java.lang.NullPointerException

你可以帮帮我吗? 谢谢。

在这里输入图像说明

我通过删除项目中的.settings文件夹和.project文件解决了我的问题,然后重新导入项目。

对于我来说CodeRanch上的用户Maneesh Godbole发现的答案是:

  1. closures日食。
  2. 导航到您的“工作区”文件夹
  3. 确保在您的操作系统上查看隐藏文件的设置已打开
  4. 识别并删除.metadata目录
  5. 重新开启eclipse
  6. 导入项目

我在我的一个模块中遇到了同样的问题。

在控制台/ cmd中运行“mvn eclipse:eclipse”解决了我的问题。

在我们的这个问题的实例中,我们有pom.xml文件,这里是m2e特定的生命周期映射configuration

 <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的 – >更新项目…,这会导致报告NullPointerException没有堆栈跟踪。 当使用新的导入… – >现有的Maven项目时,发生了同样的exception,但有一个堆栈跟踪,导致我find上述。

(Eclipse Luna Service Release 2(4.4.2)中的m2e 1.6.1.20150625-2338)

为了帮助任何人,除了删除.settings.project ,我必须先删除.classpath.factorypath ,才能将项目成功导入到Eclipse中。

org.eclipse.m2e.core.prefs文件位于.settings文件夹中。 如果你面对的问题

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

从eclipse中删除项目,然后删除项目中的.settings文件夹和.project文件 – >然后重新导入项目。

我有同样的问题。 这里没有任何解决方法。 我不得不彻底重新安装eclipse并创build一个新的工作区。 然后它的工作!

上述方法都不适用于我。 这也可能是由于你的eclipse工作区中存在循环依赖。 所以如果在你的工作空间的其他任何项目中还有其他的错误,试着去解决这些问题,那么这个问题就会消失。 这是我如何消除错误。

我在多个项目和多个工作区中遇到了同样的问题,但是我在网上find的解决scheme都没有为我工作。 我使用的STS和唯一的工作是进入我的STS目录,并添加一个“清洁”的STS.ini文件的顶部。 然后你就可以启动你的工作空间并运行maven clean而不会出错。 (你也可以从ini文件中删除-clean标签,所以每次启动时都不会清除)

希望这有助于某人。

在我的情况下的根问题是.settings文件夹中的文件冲突。 所以,删除.settings文件夹将解决Maven错误,但我想保留我的一些本地configuration文件。 我解决了冲突,然后再次尝试Maven更新,它的工作。

我有同样的问题…最后的解决scheme!

这里的日志日志:

 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插件”,试图获得GAE运行时的types,但在这里似乎是空的(… 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是可见的,但是当你select它时,你会看到没有SDK关联… 首选项/服务器/运行时环境

解决scheme:在截图上的红色;-)

这帮助了我: Project menu -> Clean... -> clean all projects

我遇到了同样的症状,上面的解决scheme都没有帮助。 我终于得到了一个问题的堆栈跟踪再次导入耳朵项目到eclipse,并能够跟踪到这个org.eclipse.m2e.wtp.MavenDeploymentDescriptorManagement试图删除一个目录在Windows的临时目录中称为“ .mavenDeploymentDescriptorManagement“,从java.io.File.exists()方法中导致了一个不合理的NullPointerExceptionexception,尤其是因为代码已经在前一个方法中用相同的variables成功完成了同样的事情,然后调用file.isFile问题。

在文件系统上检查出这个文件显示文件只能用pipe理员权限访问。 显然我曾经在某个时候从pipe理员控制台错误地启动了eclipse。 最后我只是隐藏的文件在Windows资源pipe理器中可见,并手动删除临时文件,从而解决了这个问题。

只是另一个可能的问题来源!

我发现在我的情况下,它是下面的resource块导致它:

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

它包含了来自项目文件夹的文件夹( eclipse项目是版本化的项目文件夹的子文件夹 )。

在我的情况下,我可以通过删除块并通过调用Build helper 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> 

我不得不重新安装eclipse,删除.m2文件夹并重buildjar子。

删除本地的Maven仓库帮助了我

Eclipse有一个错误日志。 在那里你会看到完整的堆栈跟踪。 在我的情况下,似乎是由一个坏的jar文件结合java.util.zip库引发不引发适当的exception,只是一个NullPointerException。