lỗi m2e trong MavenArchiver.getManifest ()


100

Tôi đang gặp lỗi trong STS của mình và không biết cách gỡ lỗi. Tìm kiếm xung quanh, tôi chỉ thấy các tham chiếu mơ hồ đến lỗi và không có giải pháp.

Lỗi là:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>line 1 Vấn đề cấu hình Maven

Câu hỏi : Mọi người có thể đưa ra bất kỳ đề xuất nào về cách lấy thêm thông tin về vấn đề để gỡ lỗi thêm hoặc bất kỳ giải pháp khả thi nào không?

Có thể thêm một số ngữ cảnh về chức năng của phương thức là gì. Javadoc được liên kết với MavenArchiver.getManifest()phương thức này không quá chi tiết và không có dấu vết ngăn xếp mà tôi thấy. Tôi đã thử một số lần làm mới và cập nhật dự án và các dự án liên quan bao gồm xóa kho lưu trữ m2 cục bộ của tôi.

Thông tin STS :

  • Phiên bản: 3.7.3.RELEASE
  • Id bản dựng: 201602250940
  • Nền tảng: Eclipse Mars.2 (4.5.2)

thông tin m2e :

  • Phiên bản: 1.6.2.20150902-0002

Có lẽ cần phải xem pom.xml để chẩn đoán sự cố. Mã phàn nàn về bố cục của tệp pom.xml và đây không phải là lỗi trong phần mềm Maven. Do đó, bạn sẽ không mong đợi thấy một tệp nhật ký lỗi. Lý do phổ biến nhất mà tôi gặp phải là lỗi đánh máy trong nội dung của các thẻ hoặc không khớp giữa thẻ bắt đầu và thẻ kết thúc.
Bradley Ross

1
Mã biên dịch chỉ tốt khi chạy từ dòng lệnh. Tôi nghĩ rằng nó sẽ xảy ra nếu có lỗi đánh máy hoặc thẻ không khớp, phải không?
scottmf,

Mặc dù câu trả lời đầu tiên cho câu hỏi SO này phù hợp với tôi, nhưng tôi muốn biết tại sao tất cả những gì tôi thấy là lỗi đó và nó không có ngữ cảnh. Nó không nói điều gì đang xảy ra. nó chỉ nói một tên phương thức "MavenARchiver.getManifest" - không có văn bản lỗi, không có gì ... thậm chí không có bất kỳ ngoại lệ nào được ném ra. Chúng tôi tìm thấy lỗi đầy đủ cho bất kỳ điều gì xảy ra trong nhật thực? Những chữ X đỏ như vậy là vô dụng đối với chúng tôi. Đó là ý tưởng ngu ngốc của ai khi chỉ in một tên phương thức như một thông báo lỗi và thế là xong?
Calicoder

Câu trả lời:


196

Tôi gặp phải sự cố tương tự sau khi cập nhật maven-jar-pluginlên phiên bản mới nhất (tại thời điểm viết bài) , 3.0.2.
Eclipse 4.5.2bắt đầu gắn cờ cho pom.xmltệp có org.apache.maven.archiver.MavenArchiver.getManifestlỗi và Maven > Update Project .. sẽ không sửa được.

Giải pháp dễ dàng: hạ cấp xuống phiên bản 2.6
Thật vậy, một giải pháp khả thi là quay trở lại phiên bản 2.6, một bản cập nhật thêm của dự án sau đó sẽ loại bỏ bất kỳ lỗi nào. Tuy nhiên, đó không phải là kịch bản lý tưởng và một giải pháp tốt hơn là khả thi: cập nhật các m2etiện ích mở rộng (tích hợp Eclipse Maven).

Giải pháp tốt hơn: cập nhật các tiện ích mở rộng Eclipse m2e
Từ Trợ giúp > Cài đặt Phần mềm Mới .. , thêm một kho lưu trữ mới (thông qua tùy chọn Thêm .. ), trỏ đến URL sau:

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

Sau đó làm theo trình hướng dẫn cập nhật như bình thường. Sau đó, Eclipse sẽ yêu cầu khởi động lại. Sau đó, một Dự án cập nhật tiếp theo .. trên dự án Maven liên quan sẽ loại bỏ bất kỳ lỗi nào và bản dựng Maven của bạn sau đó có thể tận hưởng lợi ích của maven-jar-pluginphiên bản mới nhất .


Ghi chú bổ sung
Lý do cho vấn đề này là từ phiên bản trở 3.0.0đi, thành phần liên quan, maven-archivervà liên quan plexus-archiverđã được nâng cấp lên các phiên bản mới hơn, phá vỡ các sử dụng nội bộ (thông qua phản ánh) của m2etích hợp trong Eclipse. Giải pháp duy nhất sau đó là cập nhật Eclipse đúng cách, như được mô tả ở trên.
Cũng lưu ý: trong khi Eclipse ban đầu sẽ báo cáo lỗi, bản dựng Maven (ví dụ từ dòng lệnh) sẽ tiếp tục hoạt động hoàn hảo, vấn đề này chỉ liên quan đến tích hợp Eclipse-Maven, tức là, với IDE.


3
Tôi đã có thể giải quyết vấn đề tương tự bằng cách hạ cấp maven-war-plugintừ 3.0.0xuống 2.6.
Ben Hutchison

1
Tôi không thể truy cập trang otto.takari.io, nhưng tôi đã có thể tải tiện ích mở rộng từhttp://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
azurefrog

3
Để Eclipse Mars hoạt động bình thường: repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/… . Đặt nó vào Cài đặt -> Làm việc với trường, 'Enter'. Kiểm tra Tiện ích mở rộng m2e trong danh sách (chỉ một lựa chọn).
hariprasad

1
Cũng hoạt động với "Mars.2".
Pino

16

Tôi đã tìm thấy câu trả lời của mình! Tôi đã xem xét pom cho bất kỳ plugin nào có sự phụ thuộc vào maven-archiver và thấy rằng plugin maven-jar-có. Nó đang sử dụng phiên bản 3.0.0 mới nhất. Khi tôi hạ cấp xuống 2.6, nó dường như khắc phục được sự cố :-)


14

Tôi đã gặp vấn đề tương tự với một dự án khởi động mùa xuân. giải pháp là hạ cấp jar maven-jar-plugin từ 3.2 xuống 2.6. tôi chỉ cần thêm cái này vào dự án pom:

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

11

Tôi đã có cùng vấn đề y hệt. Môi trường của tôi là:

  • Spring STS 3.7.3.RELEASE
  • Id bản dựng: 201602250940
  • Nền tảng: Eclipse Mars.2 (4.5.2)

Các triệu chứng của vấn đề là:

  1. Có một cờ lỗi màu đỏ trên tệp PM của tôi. và mô tả lỗi đã được mô tả trong câu hỏi ban đầu được hỏi ở đây.
  2. Đã biết có sự cố biên dịch trong một số tệp Java trong dự án, nhưng nhật thực vẫn không hiển thị chúng được gắn cờ là lỗi trong ngăn trình chỉnh sửa cũng như cây khám phá dự án ở phía bên trái.

Giải pháp (được mô tả ở trên) về việc cập nhật các tiện ích mở rộng m2e đã phù hợp với tôi.

Giải pháp tốt hơn (lời khuyên của tôi):

  • cập nhật phần mở rộng Eclipse m2e
  • Từ Trợ giúp> Cài đặt Phần mềm Mới .., hãy thêm một kho lưu trữ mới (thông qua tùy chọn Thêm ..), trỏ đến URL sau: https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/ 0,17,2 / N / MỚI NHẤT /
  • Chọn các phần mở rộng m2e, chấp nhận giấy phép.
  • Sau khi cập nhật, bạn sẽ được yêu cầu khởi động lại STS. Sự cố sẽ biến mất sau khi STS hoạt động trở lại.

đây là xung đột plugin maven chính xác mà tôi đang phải chịu với Spring STS 3.7.3
ArifMustafa 11/02/18

7

Tôi đã gặp vấn đề tương tự với một dự án khởi động mùa xuân. Giải pháp là hạ cấp phiên bản phụ thuộc spring-boot-starter-parent từ 2.0.0.RELEASE xuống 1.5.10.RELEASE (bạn có thể chuyển sang bất kỳ phiên bản ổn định nào)

từ:

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

đến

<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

Tôi cũng gặp phải vấn đề tương tự và nó đã được giải quyết bằng cách thay đổi phiên bản từ 3.2.0 thành 2.6 như được hiển thị trong đoạn mã pom.xml bên dưới

<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

Nâng cấp các tiện ích mở rộng m2e của bạn thay vì hạ cấp.

Từ Trợ giúp> Cài đặt Phần mềm Mới .., hãy thêm một kho lưu trữ mới (thông qua tùy chọn Thêm ..)

Chỉ định tên cho plugin của bạn và thêm đường dẫn http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

khi bạn hoàn tất quá trình cài đặt, vui lòng khởi động lại eclipse và cập nhật dự án của bạn.


đã thử rất nhiều URL mà không may, cái này đã cứu tôi. thnx
Yashar

0

Tôi cũng gặp phải các vấn đề tương tự, thay đổi phiên bản từ 2.0.0.RELEASE thành 1.5.10. RELEASE có tác dụng với tôi, vui lòng thử trước khi hạ cấp phiên bản 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

Sử dụng các bước được cung cấp trong liên kết này . Nó đã làm việc cho tôi.

Bước - 1 Nhấp chuột phải vào dự án của bạn trong Eclipse

Bước - 2 Nhấp vào Thuộc tính

Bước - 3 Chọn Maven trong danh sách bên trái.

Bước - 4 Bạn sẽ thấy "pom.xml" trong hộp văn bản Active Maven Profiles ở phía bên tay phải. Xóa nó và nhấp vào Áp dụng.

Bước - 5 Run As -> Maven clean -> Maven Install

Hy vọng nó giúp!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.