ข้อผิดพลาด m2e ใน MavenArchiver.getManifest ()


100

ฉันพบข้อผิดพลาดใน STS ของฉันและไม่แน่ใจว่าจะแก้ไขข้อบกพร่องอย่างไร การค้นหารอบ ๆ ฉันเห็นเพียงการอ้างอิงที่คลุมเครือของข้อผิดพลาดและไม่มีวิธีแก้ไข

ข้อผิดพลาดคือ:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>บรรทัด 1 ปัญหาการกำหนดค่า Maven

คำถาม : ใครสามารถให้คำแนะนำเกี่ยวกับวิธีรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาเพื่อแก้ไขข้อบกพร่องเพิ่มเติมหรือแนวทางแก้ไขที่เป็นไปได้

อาจมีบริบทเพิ่มเติมเกี่ยวกับฟังก์ชันการทำงานของวิธีการ javadoc ที่เกี่ยวข้องกับMavenArchiver.getManifest()เมธอดนั้นไม่มีรายละเอียดมากนักและไม่มีการติดตามสแต็กที่ฉันเห็น ฉันได้ลองรีเฟรชและอัปเดตโครงการและโครงการที่เกี่ยวข้องหลายครั้งรวมถึงการล้าง repo m2 ในพื้นที่ของฉัน

ข้อมูล STS :

  • เวอร์ชัน: 3.7.3
  • รหัสรุ่น: 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" - ไม่มีข้อความแสดงข้อผิดพลาดไม่มีอะไร ... ไม่เว้นแม้แต่ข้อยกเว้นใด ๆ เราจะพบข้อผิดพลาดทั้งหมดสำหรับสิ่งที่เกิดขึ้นในคราสได้ที่ไหน? red-X ดังกล่าวไม่มีประโยชน์สำหรับเรา ใครมีความคิดที่โง่ก็แค่พิมพ์ชื่อวิธีการเป็นข้อความแสดงข้อผิดพลาด
Calicoder

คำตอบ:


197

ผมพบปัญหาเดียวกันหลังจากการปรับปรุงmaven-jar-pluginให้เป็นรุ่นล่าสุด 3.0.2(ในเวลาของการเขียน)
Eclipse 4.5.2เริ่มแฟล็กpom.xmlไฟล์ด้วยorg.apache.maven.archiver.MavenArchiver.getManifestข้อผิดพลาดและMaven > Update Project ..จะไม่สามารถแก้ไขได้

วิธีแก้ปัญหาง่ายๆ: ปรับลดรุ่นเป็น 2.6 เวอร์ชัน
แน่นอนวิธีแก้ปัญหาที่เป็นไปได้คือการกลับไปที่เวอร์ชัน2.6การอัปเดตเพิ่มเติมของโครงการจะลบข้อผิดพลาดใด ๆ อย่างไรก็ตามนั่นไม่ใช่สถานการณ์ที่ดีที่สุดและเป็นทางออกที่ดีกว่า: อัปเดตm2eส่วนขยาย (การรวม Eclipse Maven)

ทางออกที่ดีกว่า: อัปเดตส่วนขยาย Eclipse m2e
จากวิธีใช้ > ติดตั้งซอฟต์แวร์ใหม่ ..เพิ่มที่เก็บใหม่ (ผ่านตัวเลือกAdd .. ) โดยชี้ไปที่ 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 build (เช่นจากบรรทัดคำสั่ง) จะยังคงทำงานได้อย่างสมบูรณ์ปัญหานี้เกี่ยวข้องกับการรวม 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/… . ใส่ลงใน Install -> Work with field, 'Enter' ตรวจสอบ m2e Extensions ในรายการ (มีเพียงตัวเลือกเดียว)
hariprasad

1
ใช้ได้กับ "Mars.2"
Pino

16

ฉันพบคำตอบของฉัน! ฉันตรวจสอบ pom สำหรับปลั๊กอินใด ๆ ที่มีการพึ่งพา maven-archiver และพบว่า 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

ฉันมีปัญหาเดียวกัน สภาพแวดล้อมของฉันคือ:

  • สปริง STS 3.7.3 ปล่อย
  • รหัสรุ่น: 201602250940
  • เวที: Eclipse Mars.2 (4.5.2)

อาการของปัญหาที่ได้รับ:

  1. มีธงข้อผิดพลาดสีแดงในไฟล์ PM ของฉัน และคำอธิบายของข้อผิดพลาดเป็นไปตามที่อธิบายไว้ในคำถามเดิมที่ถามที่นี่
  2. มีปัญหาการคอมไพล์ที่ทราบแล้วในไฟล์ Java หลายไฟล์ในโปรเจ็กต์ แต่ eclipse ยังคงไม่แสดงว่าถูกตั้งค่าสถานะเป็นข้อผิดพลาดในบานหน้าต่างเอดิเตอร์รวมถึงทรี project explorer ทางด้านซ้าย

วิธีแก้ปัญหา (อธิบายไว้ข้างต้น) เกี่ยวกับการอัปเดตส่วนขยาย m2e ใช้ได้ผลสำหรับฉัน

ทางออกที่ดีกว่า(คำแนะนำของฉัน):

  • อัพเดตส่วนขยาย Eclipse m2e
  • จากวิธีใช้> ติดตั้งซอฟต์แวร์ใหม่ .. เพิ่มที่เก็บใหม่ (ผ่านตัวเลือกเพิ่ม .. ) ชี้ไปที่ URL ต่อไปนี้: https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/ 0.17.2 / N / ล่าสุด /
  • เลือกนามสกุล m2e ยอมรับใบอนุญาต
  • หลังจากอัปเดตคุณจะถูกขอให้รีสตาร์ท STS ปัญหาจะหายไปหลังจากที่ STS กลับมา

นี่เป็นความขัดแย้งของปลั๊กอิน maven ที่แน่นอนฉันกำลังทุกข์ทรมานกับ Spring STS 3.7.3
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

ฉันประสบปัญหาเดียวกันและได้รับการแก้ไขโดยการเปลี่ยนเวอร์ชันจาก3.2.0เป็น2.6ดังที่แสดงในตัวอย่าง pom.xml ด้านล่าง

<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 ของคุณแทนการดาวน์เกรด

จาก Help> ติดตั้งซอฟต์แวร์ใหม่ .. เพิ่มที่เก็บใหม่ (ผ่านตัวเลือก Add .. )

ระบุชื่อสำหรับปลั๊กอินของคุณและเพิ่มเส้นทางhttp://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

เมื่อคุณติดตั้งเสร็จแล้วโปรดรีสตาร์ท eclipse และอัพเดตโปรเจ็กต์ของคุณ


ลองใช้ URL มากมายโดยไม่มีโชคอันนี้ช่วยฉันได้ thnx
Yashar

0

ฉันยังประสบปัญหาที่คล้ายกันการเปลี่ยนเวอร์ชันจาก2.0.0 ปล่อยเป็น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>


0

ฉันประสบปัญหาเดียวกันและได้รับการแก้ไขโดยการแสดงความคิดเห็นองค์ประกอบเวอร์ชันใน POM.xml ตามที่แสดง

org.apache.maven.archiver.[MavenArchiver](https://maven.apache.org/shared/maven-archiver/apidocs/org/apache/maven/archiver/MavenArchiver.html).getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <!-- <version>3.5.1</version> -->
    <configuration>
      <source>1.7</source>
      <target>1.7</target>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <!-- <version>3.1.0</version> -->
    <configuration>
      <warSourceDirectory>WebContent</warSourceDirectory>
      <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>
</plugins>

-1

ใช้ขั้นตอนที่ระบุในลิงค์นี้ มันได้ผลสำหรับฉัน

ขั้นตอน - 1 คลิกขวาที่โครงการของคุณใน Eclipse

ขั้นตอน - 2 คลิกคุณสมบัติ

ขั้นตอน - 3 เลือก Maven ในรายการด้านซ้ายมือ

ขั้นตอน - 4 คุณจะสังเกตเห็น "pom.xml" ในกล่องข้อความ Active Maven Profiles ทางด้านขวามือ ล้างและคลิกใช้

ขั้นตอน - 5 Run As -> Maven clean -> Maven Install

หวังว่าจะช่วยได้!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.