“更新Maven项目”期间发生内部错误,Java.lang.NullPointerException

1u4esq0p  于 2022-09-20  发布在  Maven
关注(0)|答案(16)|浏览(312)

我正在开发一个Java EE网络项目。当我尝试添加依赖项时,出现此错误消息。我用的是EclipseKepler。
“更新Maven项目”期间发生内部错误。Java.lang.NullPointerException

你能帮我一下吗?谢谢。

zlhcx6iw

zlhcx6iw1#

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

8gsdolmq

8gsdolmq2#

我得到了我在CodeRanch上找到的用户Maneesh Godbole的答案:
1.关闭月食。
1.导航至“工作空间”文件夹
1.确保操作系统上查看隐藏文件的设置已打开
1.识别并删除.METADATA目录
1.重启eclipse
1.导入项目

vhmi4jdf

vhmi4jdf3#

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

在控制台/cmd中运行“MVN eclipse:eclipse”为我解决了这个问题。

ergxz8rk

ergxz8rk4#

在这个问题的示例中,我们有pom.xml文件,其中特定于M2E的生命周期Map配置

<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项目,也出现了相同的异常,但堆栈跟踪使我发现了上面的情况。

(这是在Eclipse露娜服务版本2(4.4.2)中的M2E 1.6.1.20150625-2338。)

wgeznvg7

wgeznvg75#

如果它对任何人有帮助,除了删除.settings.project之外,我还必须删除.classpath.factorypath,然后才能将项目成功导入到Eclipse中。

0g0grzrc

0g0grzrc6#

org.eclipse.m2e.core.prefs文件在**.sets**文件夹中。如果你面对的问题是

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

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

pbpqsu0x

pbpqsu0x7#

以上这些方法对我都不管用。这也可能是由于您的eclipse工作区中存在循环依赖所致。因此,如果您的工作区中的任何其他项目中存在任何其他错误,请尝试修复这些错误,然后这个问题就会消失。这就是我如何消除错误的方法。

8yoxcaq7

8yoxcaq78#

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

cvxl0en2

cvxl0en29#

Eclipse有一个错误日志。在那里,您将看到完整的堆栈跟踪。在我的例子中,它似乎是由错误的JAR文件和java.util.zip库组合而成,没有抛出适当的异常,只是抛出了一个NullPointerException。

ymdaylpp

ymdaylpp10#

我正在使用:

面向Web开发人员的ECLIPSE Java EE IDE。

版本:Neon.3 Release(4.6.3)Build:20170314-1500

对我来说,修复/诀窍是删除~/.m2/store中的本地存储库,以便移除本地依赖项,并重新构建项目,在其中拉下新的依赖项。

kpbwa7wx

kpbwa7wx11#

上面的解决方案对我不起作用,因为开放的JDK 13版本https://github.com/spotify/dockerfile-maven/issues/163的问题,所以我降级到打开JDK8,它对我有效

mzsu5hc0

mzsu5hc012#

我也有同样的问题。这里的解决方案都没有奏效。我不得不完全重新安装eclipse并创建一个新的工作区。那它就成功了!

lrl1mhuk

lrl1mhuk13#

我在多个项目和多个工作空间中遇到了同样的问题,我在网上找到的解决方案都不适用于我。我使用的是STS,唯一有效的方法是进入我的STS目录,在STS.ini文件的顶部添加一个“-lean”。然后,您可以启动您的工作区并运行maven lean,而不会出现错误。(您还可以从ini文件中删除-lean标记,这样它就不会在您每次启动它时都被清除)

希望这能帮到什么人。

i7uaboj4

i7uaboj414#

在我的案例中,根本问题是.sets文件夹中的文件冲突。因此,删除.sets文件夹本来可以解决Maven错误,但我想保留一些本地配置文件。我解决了冲突,然后再次尝试Maven更新,它起作用了。

erhoui1w

erhoui1w15#

我也有同样的问题..。最终的解决方案!

下面是Eclipse日志:

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运行时的类型,但在这里似乎是空的(...GetRounmeType()-->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,谷歌应用程序引擎是可见的,但当你选择它时,你会看到没有SDK关联……

**解决方案:**截图为红色;-)

相关问题