programing

Maven Project 업데이트 중에 내부 오류가 발생했습니다. java.lang.Null 포인터예외.

skycolor 2023. 5. 27. 09:59
반응형

Maven Project 업데이트 중에 내부 오류가 발생했습니다. java.lang.Null 포인터예외.

자바 EE 웹 프로젝트를 개발 중입니다.종속성을 추가하려고 하면 이 오류 메시지가 나타납니다.저는 이클립스 케플러를 사용합니다.

Maven Project 업데이트 중에 내부 오류가 발생했습니다. java.lang.Null 포인터예외.

좀 도와 주시겠습니까?감사해요.

여기에 이미지 설명 입력

나는 그것을 삭제함으로써 내 것을 해결했습니다..settings 및 폴및더.project파일을 프로젝트에 저장한 다음 프로젝트를 다시 가져옵니다.

저를 위해 코드란치에서 찾은 사용자 Maneesh Godbole의 답은 다음과 같습니다.

  1. 일식이 다가옵니다.
  2. "작업영역" 폴더로 이동합니다.
  3. 숨겨진 파일을 볼 수 있는 OS 설정이 켜져 있는지 확인합니다.
  4. .metadata 디렉토리 식별 및 삭제
  5. 일식 다시 시작
  6. 프로젝트 가져오기

저도 제 모듈 중 하나에서 같은 문제가 있었습니다.

콘솔/cmd에서 "mvn eclipse: eclipse"를 실행하여 문제를 해결했습니다.

, 우는리제가 있었습니다.pom.xml 매핑 이 m2e인 입니다.

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

가지고 있지 않았습니다.<version>1.0.0</version>> Project할 때 됩니다. 메이븐 -> 업데이트 프로젝트...를 수행할 때 보고된 NullPointer가 발생합니다.스택 추적이 없는 예외입니다.▁->...... -> 기존 메이븐 발생했지만 .-> 기존 메이븐 프로젝트에서도 동일한 예외가 발생하였으나 스택 추적을 통해 위의 내용을 찾을 수 있었습니다.

(이는 Eclipse Luna 서비스 릴리스 2(4.4.2)의 m2e 1.6.1.20150625-2338에 해당합니다.)

삭제할 뿐만 아니라 누구에게나 도움이 되는 경우.settings그리고..project는 삭해야했다니를 삭제해야 ..classpath그리고..factorypath프로젝트를 이클립스로 가져오기 전에.

org.dll.m2e.core.prefs 파일이 .vmx 폴더에 있습니다.만약 당신이 문제에 직면한다면,

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

eclipse에서 프로젝트를 삭제한 다음 프로젝트 ->에서 .settings 폴더 & .project 파일을 삭제하고 프로젝트를 다시 가져옵니다.

위의 어떤 방법도 저에게 효과가 없었습니다.이 문제는 일식 작업 공간에 순환 종속성이 있기 때문에 발생할 수도 있습니다.따라서 작업 공간의 다른 프로젝트에 다른 오류가 있는 경우 이 문제를 해결해 보십시오. 그러면 이 문제가 해결됩니다.이것이 제가 오류를 제거하는 방법입니다.

이것은 저에게 도움이 되었습니다.Project menu -> Clean... -> clean all projects

Eclipse에 오류 로그가 있습니다.여기서 전체 스택 추적을 볼 수 있습니다.내 경우에는 java.util.zip libs와 결합된 잘못된 jar 파일이 적절한 예외를 던지지 않아 발생한 것 같습니다. 단지 NullPointer입니다.예외.

사용 중:

웹 개발자를 위한 이클립스 Java EEIDE.

버전:Neon.3 릴리스(4.6.3) 빌드 ID: 20170314-1500

해결책은 로컬 종속성을 제거하기 위해 ~/.m2/repository에 있는 로컬 저장소를 삭제하고 새로운 종속성이 제거된 프로젝트를 다시 구축하는 것이었습니다.

위의 솔루션은 오픈 JDK 13 버전 https://github.com/spotify/dockerfile-maven/issues/163 의 문제로 작동하지 않았습니다. 그래서 오픈 JDK8로 다운그레이드하여 저에게 적합합니다.

저도 같은 문제가 있었습니다.여기에 있는 어떤 해결책도 효과가 없었습니다.저는 이클립스를 완전히 다시 설치하고 새로운 작업 공간을 만들어야 했습니다.효과가 있었어요!

여러 프로젝트와 여러 작업 공간에서 동일한 문제가 발생했지만, 온라인에서 찾은 솔루션 중 어느 것도 저에게 적합하지 않았습니다.STS를 사용하고 있는데 STS 디렉토리에 들어가 STS.ini 파일의 맨 위에 "-clean"을 추가하는 것이 유일하게 작동했습니다.그런 다음 작업영역을 시작하고 오류 없이 Maven Clean을 실행할 수 있습니다.(ini 파일에서 -clean 태그를 제거하여 시작할 때마다 지워지지 않도록 할 수도 있습니다.)

이것이 누군가에게 도움이 되기를 바랍니다.

제 경우 루트 문제는 .settings 폴더의 파일 충돌이었습니다.따라서 .settings 폴더를 삭제하면 Maven 오류가 해결될 수 있지만 일부 로컬 구성 파일을 보관하고 싶었습니다.저는 충돌을 해결한 후 메이븐 업데이트를 다시 시도했고 효과가 있었습니다.

저도 같은 문제가 있었어요... 해결책이 결국엔!

여기 일식 로그:

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)

GAE 런타임 유형을 가져오려고 하지만 여기서는 null인 것처럼 보이는 "appengine maven wtp plugin"에서 가져온 것입니다(... getRuntimeType() --> NPE).

클래스 com.google.appengine.eclip.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이 표시되지만 이를 선택하면 SDK가 연결되지 않은 것을 볼 수 있습니다.기본 설정/서버/런타임 환경

해결책: 스크린샷에 빨간색으로 표시됨 ;-)

이와 같은 증상이 발생했지만 위의 해결책 중 어떤 것도 도움이 되지 않았습니다.Ear project를 eclipse로 다시 가져와서 문제의 스택 추적을 얻었고 org.eclipse.m2e.wtp까지 추적할 수 있었습니다.Windows의 임시 디렉토리에 있는 디렉토리 ".mavenDeploymentDescriptorManagement"를 삭제하려는 MavenDeploymentDescriptorManagement로 인해 NullPointer가 발생했습니다.java.io 의 예외입니다.file.exists() 메서드가 존재합니다. 특히 코드가 동일한 변수를 가진 이전 메서드에서 이미 동일한 작업을 성공적으로 수행한 다음 file.isFile()이라고 문제없이 호출했기 때문입니다.

파일 시스템에서 확인한 결과 관리자 권한이 있어야만 파일에 액세스할 수 있습니다.관리자 콘솔에서 실수로 이클립스를 실행한 것 같습니다.결국 나는 윈도우 탐색기에 숨겨진 파일을 보여주고 임시 파일을 수동으로 삭제해서 문제를 해결했습니다.

문제의 또 다른 가능성 있는 원인일 뿐입니다!

제 경우에는 다음과 같은 것들이 있다는 것을 알게 되었습니다.resource원인이 된 블록:

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

여기에는 프로젝트 폴더의 폴더가 포함되어 있습니다(이클립스 프로젝트는 버전이 지정된 프로젝트 폴더의 하위 폴더임).

저의 경우 블록을 제거하고 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 폴더를 삭제하고 jars를 다시 만들어야 했습니다.

로컬 메이븐 저장소를 삭제하는 것이 도움이 되었습니다.

제 경우에는 다른 종속성에서 사용하는 파생 종속성 충돌이 문제였고, 이러한 파생 종속성 버전 중 일부를 사용할 수 없었습니다. 워크스페이스 해결로 모든 것이 작동했기 때문에 일부 배포를 잊어버렸지만 다른 환경으로 이동할 때 갑자기 중단되었습니다.또한 버전 범위에 대한 작업도 수행했습니다.

메이븐은 나에게 다음과 같은 오류를 주었습니다.

프로젝트 MyProject에 대한 종속성을 확인할 수 없습니다.MyProject:jar:1.0.0: 종속성-A:1.0.1 -> 종속성-B:1.1.0 -> 종속성-C:1.0.0, 종속성-X:1.0.1.1 -> 종속성-Y:1.1.0, 종속성-C:1.0.0, 종속성-I:1.0.0.0.1 사이의 버전 충돌을 해결할 수 없습니다.

모든 걸 시도했지만 아무 것도 소용이 없었어요, 그래서...

솔루션:모든 종속성에서 최신 버전을 사용하므로 범위의 모든 종속성을 해결할 필요가 없습니다. 종속성 중 하나를 배포하지 못하면 빌드가 실패하므로 주의하여 사용해야 합니다.

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

.metadata 폴더는 모든 설정을 정리하고 구성을 실행하므로 삭제하지 마십시오.대신 .metadata 폴더 이름 변경 --> Eclipse 다시 시작 --> 프로젝트 가져오기

로컬 .vmdk 폴더를 삭제하는 것이 도움이 되었습니다.

솔루션 단계는 프로젝트 폴더에서 다음 파일을 삭제하는 것입니다.

.settings

.project

.classpath

여기에 이미지 설명 입력

저는 이 문제를 다음과 같이 해결했습니다: 프로젝트 -> 클린 -> %YOUR PROJECT%

이미지를 보려면 여기를 클릭하십시오.

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

반응형