Помилка 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

Запитання : Чи може хто-небудь надати які-небудь пропозиції щодо того, як отримати більше інформації щодо проблеми, щоб надалі налагодити її чи будь-які можливі рішення?

Можливо, ще якийсь контекст щодо функціональності методу. Явадок, пов'язаний із MavenArchiver.getManifest()методом, не дуже детальний, і жодного сліду стека я не бачу. Я спробував кілька оновлень та оновлень проекту та пов'язаних з ними проектів, включаючи очищення мого локального репо-м2.

Інформація про STS :

  • Версія: 3.7.3.РЕЛІЗАЦІЯ
  • Ідентифікатор збірки: 201602250940
  • Платформа: Eclipse Mars.2 (4.5.2)

інформація про m2e :

  • Версія: 1.6.2.20150902-0002

Можливо, для діагностики проблеми, мабуть, слід ознайомитися з pom.xml. Код скаржиться на макет файлу pom.xml, і це не помилка в програмі Maven. Тому ви не очікуєте, що ви побачите файл журналу помилок. Найпоширеніша причина, яку я зазнав - типографічна помилка у вмісті тегів або невідповідність між початковим і кінцевим тегом.
Бредлі Росс

1
Код складається добре, коли запускається з командного рядка. Я думаю, що це буде помилкою, якщо буде помилка друку чи тегів, правда?
scottmf

Незважаючи на те, що перша відповідь на це запитання ТА спрацювала для мене, я хотів би знати, чому я бачу лише цю помилку, і вона не має контексту. Це не говорить про те, що відбувається. він просто говорить назву методу "MavenARchiver.getManifest" - немає тексту помилки, нічого ... навіть не там, де викидається якийсь виняток. Де ми знаходимо повну помилку, коли щось пішло не так у затемненні? Такі червоні Х є для нас марними. Чия дурна ідея це було просто надрукувати ім'я методу як повідомлення про помилку, і це все?
Calicoder

Відповіді:


196

Я зіткнувся з тими ж проблемами після поновлення 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
з довідки > Встановити нове програмне забезпечення .. , додайте нове сховище (за допомогою параметра Додати .. ), вказуючи на таку URL-адресу:

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

Потім дотримуйтесь майстра оновлення, як зазвичай. Затем затемнення потребує перезавантаження. Згодом подальший проект оновлення .. стосовно відповідного проекту 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.
Бен Хатчісон

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 -> Робота з полем 'Enter'. Перевірте m2e Розширення у списку (лише один вибір).
харіпрасад

1
Також працює з "Марсом.2".
Піно

16

Я знайшов свою відповідь! Я подивився на пом для будь-яких плагінів, які залежать від Maven-архіватора, і виявив, що Maven-jar-плагін робить. Він використовував останню версію 3.0.0. Коли я знизився до 2.6, то, здається, виправити проблему :-)


14

У мене була така ж проблема з проектом завантаження весни. рішення полягало в тому, щоб знизити jar maven-jar-plugin з 3,2 до 2,6. мені довелося просто додати це до проекту пом:

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

11

У мене була точно така ж проблема. Моє середовище :

  • Весна СТС 3.7.3.ВИПУСК
  • Ідентифікатор збірки: 201602250940
  • Платформа: Eclipse Mars.2 (4.5.2)

У симптомах цих проблем були:

  1. На моєму файлі ПМ з'явився червоний прапор помилки. а опис помилки був таким, як описано в оригінальному запитанні тут.
  2. У кількох файлах Java в проекті були відомі проблеми компіляції, але затемнення все ще не відображало їх, позначених як помилка на панелі редактора, а також дерево дослідників проектів зліва.

Для мене працювало рішення (описане вище) щодо оновлення розширень m2e.

Краще рішення (моя рекомендація):

  • оновити розширення Eclipse m2e
  • З довідки> Встановити нове програмне забезпечення .., додайте новий сховище (за допомогою параметра Додати ..), вказуючи на таку URL-адресу: https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/ 0,17,2 / N / ОСТАННІ /
  • Виберіть розширення m2e, прийміть ліцензію.
  • Після оновлення вам буде запропоновано перезапустити STS. Проблема зникає після повернення STS.

це був точний конфлікт із плагінами Maven, який я страждав весною STS 3.7.3
ArifMustafa

7

У мене була така ж проблема з проектом завантаження весни. Рішення полягало в тому, щоб зменшити залежність весняної завантажувальної програми-початківця від 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, а не поновіть.

З довідки> Встановити нове програмне забезпечення .., додайте нове сховище (за допомогою параметра Додати ..)

Вкажіть ім’я для вашого плагіна та додайте шлях http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

як тільки ви закінчите встановлення, перезапустіть затемнення та оновіть проект.


спробував багато URL-адрес без удачі, ця врятувала мене. thnx
Яшар

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 у списку зліва.

Крок - 4 Ви помітите "pom.xml" у текстовому полі Active Maven Profiles з правого боку. Очистіть його та натисніть Застосувати.

Крок - 5 Виконайте як -> Maven clean -> Maven Install

Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.