m2e error di MavenArchiver.getManifest ()


100

Saya melihat kesalahan di STS saya dan tidak yakin cara men-debugnya. Mencari-cari di sekitar saya hanya melihat referensi yang tidak jelas untuk kesalahan dan tidak ada solusi.

Kesalahannya adalah:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>baris 1 Masalah Konfigurasi Maven

Pertanyaan : Adakah yang bisa memberikan saran tentang cara mendapatkan informasi lebih lanjut tentang masalah ini untuk melakukan debug lebih lanjut atau solusi yang mungkin?

Mungkin beberapa konteks lagi tentang apa fungsi metode itu. Javadoc yang terkait dengan MavenArchiver.getManifest()metode ini tidak terlalu rinci dan tidak ada jejak tumpukan yang saya lihat. Saya telah mencoba beberapa penyegaran dan pembaruan proyek dan proyek terkait termasuk membersihkan repo m2 lokal saya.

Info STS :

  • Versi: 3.7.3.RELEASE
  • ID Build: 201602250940
  • Platform: Eclipse Mars.2 (4.5.2)

info m2e :

  • Versi: 1.6.2.20150902-0002

Mungkin perlu melihat pom.xml untuk mendiagnosis masalah. Kode mengeluh tentang tata letak file pom.xml, dan ini bukan kesalahan dalam perangkat lunak Maven. Oleh karena itu, Anda tidak akan berharap melihat file log kesalahan. Alasan paling umum yang saya alami adalah kesalahan ketik pada isi tag atau ketidaksesuaian antara tag awal dan akhir.
Bradley Ross

1
Kode dikompilasi dengan baik ketika dijalankan dari baris perintah. Saya pikir itu akan error jika ada kesalahan ketik atau tag tidak cocok, bukan?
scottmf

Meskipun jawaban pertama pada pertanyaan SO ini berhasil untuk saya, saya ingin tahu mengapa semua yang saya lihat adalah kesalahan itu dan tidak ada konteksnya. Itu tidak mengatakan apa yang terjadi. itu hanya mengatakan nama metode "MavenARchiver.getManifest" - tidak ada teks kesalahan, tidak ada ... bahkan tidak ada pengecualian yang dilemparkan. Di mana kami menemukan kesalahan penuh untuk sesuatu yang salah dalam gerhana? Merah-X seperti itu tidak berguna bagi kita. Ide bodoh siapa itu hanya mencetak nama metode sebagai pesan kesalahan dan hanya itu?
Calicoder

Jawaban:


196

Saya mengalami masalah yang sama setelah memperbarui maven-jar-pluginke versi terbarunya (pada saat penulisan) 3.0.2,.
Eclipse 4.5.2mulai menandai pom.xmlfile dengan org.apache.maven.archiver.MavenArchiver.getManifestkesalahan dan Maven > Perbarui Proyek .. tidak akan memperbaikinya.

Solusi mudah: downgrade ke versi 2.6
Memang solusi yang mungkin adalah kembali ke versi 2.6, pembaruan proyek lebih lanjut akan menghapus kesalahan apa pun. Namun, itu bukan skenario yang ideal dan solusi yang lebih baik dimungkinkan: perbarui m2eekstensi (integrasi Eclipse Maven).

Solusi yang lebih baik: perbarui ekstensi Eclipse m2e
Dari Bantuan > Instal Perangkat Lunak Baru .. , tambahkan repositori baru (melalui opsi Tambah .. ), dengan menunjuk ke URL berikut:

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

Kemudian ikuti wizard pembaruan seperti biasa. Eclipse kemudian akan membutuhkan restart. Setelah itu, Proyek Pembaruan lebih lanjut .. pada proyek Maven yang bersangkutan akan menghapus semua kesalahan dan build Maven Anda kemudian dapat menikmati manfaat dari maven-jar-pluginversi terbaru .


Catatan tambahan
Alasan untuk masalah ini adalah bahwa dari versi 3.0.0, komponen yang bersangkutan, maven-archiverdan yang terkait plexus-archivertelah ditingkatkan ke versi yang lebih baru, melanggar penggunaan internal (melalui refleksi) dari m2eintegrasi di Eclipse. Satu-satunya solusi adalah memperbarui Eclipse dengan benar, seperti dijelaskan di atas.
Perhatikan juga: meskipun Eclipse awalnya akan melaporkan kesalahan, build Maven (misalnya dari baris perintah) akan tetap berfungsi dengan sempurna, masalah ini hanya terkait dengan integrasi Eclipse-Maven, yaitu ke IDE.


3
Saya dapat mengatasi masalah serupa dengan menurunkan versi maven-war-plugindari 3.0.0menjadi 2.6.
Ben Hutchison

1
Saya tidak dapat mengakses situs otto.takari.io, tetapi saya bisa mendapatkan ekstensi darihttp://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
azurefrog

3
Agar Eclipse Mars berfungsi dengan baik: repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/… . Taruh di Install -> Work with field, 'Enter'. Periksa Ekstensi m2e dalam daftar (hanya satu pilihan).
hariprasad

1
Bekerja juga dengan "Mars.2".
Pino

16

Saya menemukan jawaban saya! Saya melihat ke pom untuk setiap plugin yang memiliki ketergantungan pada maven-archiver dan menemukan maven-jar-plugin tidak. Itu menggunakan versi 3.0.0 terbaru. Ketika saya menurunkan versi ke 2.6, tampaknya masalah sudah diperbaiki :-)


14

Saya memiliki masalah yang sama dengan proyek sepatu bot musim semi. solusinya adalah menurunkan versi jar maven-jar-plugin dari 3.2 menjadi 2.6. saya baru saja menambahkan ini ke proyek pom:

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

11

Saya memiliki masalah yang persis sama. Lingkungan saya adalah:

  • Musim Semi STS 3.7.3. RILIS
  • ID Build: 201602250940
  • Platform: Eclipse Mars.2 (4.5.2)

The gejala dari masalah:

  1. Ada bendera kesalahan merah pada file PM saya. dan deskripsi kesalahan seperti yang dijelaskan dalam pertanyaan asli yang ditanyakan di sini.
  2. Ada masalah kompilasi yang diketahui di beberapa file Java dalam proyek tersebut, tetapi gerhana masih tidak menunjukkan mereka ditandai sebagai kesalahan di panel editor serta pohon penjelajah proyek di sisi kiri.

Solusi (dijelaskan di atas) tentang memperbarui ekstensi m2e berfungsi untuk saya.

Solusi yang lebih baik (rekomendasi saya):


ini adalah konflik plugin maven persis yang saya derita dengan Spring STS 3.7.3
ArifMustafa

7

Saya memiliki masalah yang sama dengan proyek sepatu bot musim semi. Solusinya adalah menurunkan versi dependensi spring-boot-starter-parent dari 2.0.0.RELEASE ke 1.5.10.RELEASE (Anda dapat pindah ke versi stabil apa pun)

dari:

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

untuk

<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

Saya juga menghadapi masalah yang sama dan itu diselesaikan dengan mengubah versi dari 3.2.0 menjadi 2.6 seperti yang ditunjukkan di bawah potongan 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>


0

Saya juga menghadapi masalah serupa, mengubah versi dari 2.0.0.RELEASE menjadi 1.5.10. RELEASE berfungsi untuk saya, silakan coba sebelum menurunkan versi 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

Gunakan langkah-langkah yang diberikan di tautan ini . Itu berhasil untuk saya.

Langkah - 1 Klik kanan pada proyek Anda di Eclipse

Langkah - 2 Klik Properties

Langkah - 3 Pilih Maven di daftar sebelah kiri.

Langkah - 4 Anda akan melihat "pom.xml" di kotak teks Active Maven Profiles di sisi kanan. Kosongkan dan klik Terapkan.

Langkah - 5 Run As -> Maven clean -> Maven Install

Semoga membantu!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.