MavenArchiver.getManifest ()의 m2e 오류


100

STS에 오류가 표시되고 디버깅 방법을 잘 모르겠습니다. 주변을 검색하면 오류에 대한 모호한 참조 만 보이고 해결책은 없습니다.

오류는 다음과 같습니다.

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>line 1 Maven 구성 문제

질문 : 누구나 문제를 추가로 디버깅하거나 가능한 해결책을 찾기 위해 문제에 대한 자세한 정보를 얻는 방법에 대한 제안을 할 수 있습니까?

메소드의 기능이 무엇인지에 대한 컨텍스트가 더있을 수 있습니다. MavenArchiver.getManifest()메소드 와 관련된 javadoc 은 그다지 상세하지 않으며 내가 보는 스택 추적이 없습니다. 내 로컬 m2 저장소 지우기를 포함하여 프로젝트 및 관련 프로젝트의 몇 가지 새로 고침 및 업데이트를 시도했습니다.

STS 정보 :

  • 버전 : 3.7.3.RELEASE
  • 빌드 ID : 201602250940
  • 플랫폼 : Eclipse Mars.2 (4.5.2)

m2e 정보 :

  • 버전 : 1.6.2.20150902-0002

문제를 진단하려면 pom.xml을 확인해야합니다. 코드는 pom.xml 파일의 레이아웃에 대해 불평하고 있으며 이는 Maven 소프트웨어 내의 오류가 아닙니다. 따라서 오류 로그 파일이 표시되지 않을 것입니다. 제가 경험 한 가장 일반적인 이유는 태그 내용의 오타 또는 시작 태그와 끝 태그 사이의 불일치 때문입니다.
Bradley Ross

1
코드는 명령 줄에서 실행될 때 잘 컴파일됩니다. 오타 또는 태그 불일치가 있으면 오류가 발생할 것이라고 생각합니다.
scottmf

이 SO 질문에 대한 첫 번째 답변이 저에게 효과가 있었지만 왜 내가 보는 모든 것이 그 오류이고 컨텍스트가 없는지 알고 싶습니다. 무슨 일이 일어나고 있는지 말하지 않습니다. "MavenARchiver.getManifest"라는 메소드 이름 만 표시됩니다. 오류 텍스트도없고, 예외가 발생하는 곳도 없습니다. Eclipse에서 잘못되는 모든 오류에 대한 전체 오류를 어디에서 찾을 수 있습니까? 그런 red-X는 우리에게 쓸모가 없습니다. 오류 메시지로 메소드 이름을 인쇄하는 것이 누구의 멍청한 아이디어였습니까?
Calicoder

답변:


196

maven-jar-plugin최신 버전으로 업데이트 한 후에도 동일한 문제가 발생했습니다 (작성 당시) 3.0.2.
Eclipse 는 오류와 함께 파일에 4.5.2플래그를 지정하기 시작했으며 Maven > Update Project .. 가이를 수정하지 않습니다.pom.xmlorg.apache.maven.archiver.MavenArchiver.getManifest

쉬운 해결책 : 2.6 버전으로 다운 그레이드
가능한 해결책은 버전으로 돌아가는 2.6것입니다. 프로젝트를 추가로 업데이트하면 오류가 제거됩니다. 그러나 이는 이상적인 시나리오 가 아니며 더 나은 솔루션이 가능합니다. m2e확장을 업데이트합니다 (Eclipse Maven 통합).

더 나은 솔루션 : 업데이 트 이클립스 m2e 확장
에서 도움말 > 새 소프트웨어를 설치합니다 .. (비아 새 저장소를 추가 추가 .. 다음 URL을 가리키는 옵션) :

  • https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

그런 다음 평소와 같이 업데이트 마법사를 따릅니다. 그러면 Eclipse를 다시 시작해야합니다. 나중에 관련 Maven 프로젝트에 대한 추가 업데이트 프로젝트 .. 는 오류를 제거하고 Maven 빌드는 최신 maven-jar-plugin버전 의 이점을 누릴 수 있습니다 .


추가 참고 사항
이 문제의 원인은 버전부터 3.0.0관련 구성 요소 maven-archiver및 관련 항목 plexus-archiver이 최신 버전으로 업그레이드 m2e되어 Eclipse 통합 의 내부 사용 (반영을 통해)이 중단 되었기 때문 입니다. 유일한 해결책은 위에서 설명한대로 Eclipse를 올바르게 업데이트하는 것입니다.
또한 참고 : Eclipse는 처음에 오류를보고하지만 Maven 빌드 (예 : 명령 줄에서)는 계속 완벽하게 작동하지만이 문제는 Eclipse-Maven 통합, 즉 IDE 와만 관련이 있습니다.


3
maven-war-plugin에서 3.0.0로 다운 그레이드하여 유사한 문제를 해결할 수있었습니다 2.6.
Ben Hutchison

1
otto.takari.io 사이트에 액세스 할 수 없었지만 확장명은http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
azurefrog

3
Eclipse Mars의 경우 제대로 작동합니다 : repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/… . 설치-> 작업 필드, 'Enter'에 넣으십시오. 목록에서 m2e 확장을 확인하십시오 (하나만 선택).
hariprasad

1
"Mars.2"에서도 작동합니다.
Pino

16

내 대답을 찾았습니다! 나는 maven-archiver에 의존하는 플러그인에 대한 pom을 조사했고 maven-jar-plugin 이하는 것을 발견했습니다. 최신 3.0.0 버전을 사용하고있었습니다. 2.6으로 다운 그레이드하면 문제가 해결되는 것 같습니다. :-)


14

스프링 부트 프로젝트에서도 같은 문제가 발생했습니다. 해결책은 jar maven-jar-plugin을 3.2에서 2.6으로 다운 그레이드하는 것이 었습니다. 나는 이것을 프로젝트 pom에 추가해야했다.

<properties>        
    <maven-jar-plugin.version>2.6</maven-jar-plugin.version>
</properties>

11

나는 똑같은 문제가 있었다. 내 환경 은 다음과 같습니다.

  • Spring STS 3.7.3.RELEASE
  • 빌드 ID : 201602250940
  • 플랫폼 : Eclipse Mars.2 (4.5.2)

문제 의 증상 은 다음과 같습니다.

  1. 내 PM 파일에 빨간색 오류 플래그가 있습니다. 오류에 대한 설명은 여기에서 묻는 원래 질문에 설명되어 있습니다.
  2. 프로젝트의 여러 Java 파일에 알려진 컴파일 문제가 있었지만 Eclipse는 여전히 왼쪽의 프로젝트 탐색기 트리뿐만 아니라 편집기 창에서 오류로 플래그가 지정된 파일을 표시하지 않았습니다.

m2e 확장 업데이트에 대한 솔루션 (위에서 설명)이 저에게 효과적이었습니다.

더 나은 솔루션 (내 추천) :


이것은 내가 Spring STS 3.7.3에서 겪었던 정확한 maven 플러그인 충돌이었다.
ArifMustafa

7

스프링 부트 프로젝트에서도 같은 문제가 발생했습니다. 해결책은 spring-boot-starter-parent 종속성 버전을 2.0.0.RELEASE에서 1.5.10.RELEASE로 다운 그레이드하는 것이 었습니다 (안정적인 버전으로 이동할 수 있음).

에서:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

7

나는 또한 같은 문제에 직면 했고 아래 pom.xml 스 니펫과 같이 버전3.2.0 에서 2.6 으로 변경하여 해결되었습니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <warSourceDirectory>src/main/webapp</warSourceDirectory>
        <warName>Spring4MVC</warName>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

4

대신 m2e 확장을 업그레이드하십시오.

도움말> 새 소프트웨어 설치 ..에서 새 저장소를 추가하십시오 (추가 .. 옵션을 통해).

플러그인 이름을 지정하고 경로 http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/ 추가

설치가 끝나면 이클립스를 다시 시작하고 프로젝트를 업데이트하십시오.


운이없는 많은 URL을 시도했지만 이것은 나를 구했습니다. thnx
하기 Yashar

0

나는 또한 2.0.0.RELEASE 에서 1.5.10 으로 버전을 변경하는 유사한 문제에 직면 했습니다 .RELEASE 가 나를 위해 일했습니다 .maven 버전을 다운 그레이드하기 전에 시도하십시오.

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>  
</dependencies>

-1

링크에 제공된 단계를 사용하십시오 . 그것은 나를 위해 일했습니다.

단계-1 Eclipse에서 프로젝트를 마우스 오른쪽 버튼으로 클릭

단계-2 속성 클릭

단계-3 왼쪽 목록에서 Maven을 선택합니다.

Step-4 오른쪽의 Active Maven Profiles 텍스트 상자에 "pom.xml"이 표시됩니다. 그것을 지우고 적용을 클릭하십시오.

단계-5 실행 도구-> Maven clean-> Maven 설치

도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.