IT story

'Maven 프로젝트 업데이트 중'중에 내부 오류가 발생했습니다.

hot-time 2020. 9. 13. 11:49
반응형

'Maven 프로젝트 업데이트 중'중에 내부 오류가 발생했습니다. java.lang.NullPointerException


Java EE 웹 프로젝트를 개발 중입니다. 종속성을 추가하려고하면이 오류 메시지가 나타납니다. Eclipse Kepler를 사용합니다.

"Maven 프로젝트 업데이트 중"중에 내부 오류가 발생했습니다. java.lang.NullPointerException

당신이 나를 도울 수? 감사합니다.

여기에 이미지 설명 입력


프로젝트에서 .settings폴더와 .project파일 을 삭제 한 다음 프로젝트를 다시 가져 와서 문제를 해결 했습니다.


나를 위해 Maneesh Godbole 사용자가 CodeRanch 에서 찾은 답변을 작업했습니다 .

  1. 일식을 닫습니다.
  2. "workspace"폴더로 이동합니다.
  3. 숨겨진 파일을보기위한 OS 설정이 켜져 있는지 확인하십시오.
  4. .metadata 디렉터리 식별 및 삭제
  5. 이클립스 다시 시작
  6. 프로젝트 가져 오기

내 모듈 중 하나에서 동일한 문제가 발생했습니다.

Running "mvn eclipse:eclipse" in the console/cmd solved the problem for me.


In our instance of this problem, we had pom.xml files where the m2e-specific life cycle mapping configuration

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
...

did not have the <version>1.0.0</version> part. When doing a Maven -> Update Project..., this causes the reported NullPointerException without a stack trace. When using a fresh Import... -> Existing Maven Projects, the same exception occurred, but with a stack trace that led me to find the above.

(This is with m2e 1.6.1.20150625-2338 in Eclipse Luna Service Release 2 (4.4.2).)


In case it helps anyone, in addition to deleting .settings and .project, I had to delete .classpath and .factorypath before being able to import the project successfully into Eclipse.


org.eclipse.m2e.core.prefs file is in .settings folder. If you face the problem of

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

Delete the project from eclipse then by deleting the .settings folder & .project file in the project -> then re-import the project.


This helped me: Project menu -> Clean... -> clean all projects


deleting the local maven repository helped me


Eclipse has an error log. There you will see the complete stack trace. In my case it seems to be caused by a bad jar file combined with the java.util.zip libs not throwing a proper exception, just a NullPointerException.


I'm using:

Eclipse Java EE IDE for Web Developers.

Version: Neon.3 Release (4.6.3) Build id: 20170314-1500

The fix/trick for me was deleting my local repository in ~/.m2/repository in order to remove local dependencies and rebuilding my project in which fresh dependencies are pulled down.


I had the same problem. None of the solutions here worked. I had to completely reinstall eclipse and make a new workspace. Then it worked!


None of the above methods worked for me. This might also arise due to the presence of circular dependency in your eclipse workspace. So if there are any other errors present in any of the other projects in your workspace, try to fix those and then this issue will be gone. This is how i eliminated the error.


I had this same issue across multiple projects and multiple workspaces, none of the solutions I found online worked for me. I'm using STS and the only thing that worked was to go into my STS directory and add a "-clean" to the top of the STS.ini file. You can then start up your workspace and run maven clean without errors. (you can also remove the -clean tag from the ini file so it doesn't clean everytime you start it)

Hope this helps someone.


The root issue in my case was a file conflict in the .settings folder. So, deleting the .settings folder would have resolved the Maven error, but I wanted to keep some of my local configuration files. I resolved the conflict, then tried a Maven update again and it worked.


I had the same issue ... solution at the end !

here the eclipse log:

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)

... it comes from "appengine maven wtp plugin" that try to get the type of GAE runtime, but seems to be null here (... getRuntimeType() --> NPE):

see class 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)) {

So, if you check in eclipse, Google App Engine is visible , but when you select it you'll see that no SDK is associated ... 기본 설정 / 서버 / 런타임 환경

SOLUTION: in red on the screenshot ;-)


I encountered this same symptom and none of the solutions above were helpful. I finally got a stack trace of the problem by importing the ear project again to eclipse, and was able to trace this down to the org.eclipse.m2e.wtp.MavenDeploymentDescriptorManagement which was trying to delete a directory in windows' temp directory called ".mavenDeploymentDescriptorManagement", which caused an irrational NullPointerException from the java.io.File.exists() method, particularly because the code already had successfully done the same thing in a previous method with the same variable, then called file.isFile() without problem.

Checking this out on the file system revealed that the file could only be accessed with administrator privileges. Apparently I had at some point launched eclipse from an administrator console by mistake. In the end I just made hidden files visible in windows explorer and deleted the temporary file manually, which solved the problem.


Just another possible source of the problem!

I found out that in my case it was the following resource block that caused it:

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

It included a folder from the project folder (the eclipse project is a subfolder of the versioned project folder).

In my case, I could remove the error by removing the block and replacing it with a call to the Build helper Maven plugin:

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

I had to reinstall eclipse, delete .m2 folder and rebuild the jars.


In my case, the problem was a conflict of derived dependencies that were been used by other dependencies, and some of those derived dependencies versions were not available, maybe because some deploy that i forgot to do because with workspace resolution everything worked, but when moving to other environment all broke suddenly. And also I was working with version ranges

maven was giving me this error:

Could not resolve dependencies for project MyProject:MyProject:jar:1.0.0: Could not resolve version conflict among Dependency-A:1.0.1 -> Dependency-B:1.1.0 -> Dependency-C:1.0.0, Dependency-X:1.0.1 -> Dependency-Y:1.1.0 -> Dependency-C:1.0.0, Dependency-I:1.0.1 -> Dependency-J:1.1.0 -> Dependency-C:1.0.0

나는 위의 모든 것을 시도했지만 아무것도 작동하지 않았으므로 ...

해결책 : 모든 종속성에서 LATEST를 버전으로 사용하므로 maven은 범위의 모든 종속성을 해결할 필요가 없습니다. 종속성 중 하나를 배포하지 못하면 빌드가 실패하기 때문에주의해서 사용해야합니다.

자신의 종속성으로 작업하는 경우에만 LATEST를 사용하는 것이 좋습니다. 그렇지 않으면 타사 향후 버전에서 일부 컴파일 또는 런타임 오류를 찾을 수 있습니다.

참고 URL : https://stackoverflow.com/questions/19522897/an-internal-error-occurred-during-updating-maven-project-java-lang-nullpoint

반응형