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>行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ソフトウェア内のエラーではありません。したがって、エラーログファイルが表示されることはありません。私が経験した最も一般的な理由は、タグの内容の誤植、または開始タグと終了タグの不一致です。
ブラッドリーロス

1
コマンドラインから実行すると、コードは問題なくコンパイルされます。タイプミスやタグの不一致があった場合、エラーになると思いますよね?
scottmf

このSO質問の最初の答えは私にとってはうまくいきましたが、なぜ私が見るすべてがそのエラーであり、それが文脈を持たないのかを知りたいのです。何が起こっているのかはわかりません。「MavenARchiver.getManifest」というメソッド名が表示されているだけです。エラーテキストも何もありません...例外がスローされた場合でも同様です。Eclipseで問題が発生した場合の完全なエラーはどこにありますか?そのようなred-Xは私たちには役に立たない。メソッド名をエラーメッセージとして出力するのは誰の愚かな考えでしたか?
カリコーダー、

回答:


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統合)。

より良いソリューション:Eclipse m2e拡張機能をヘルプ
から更新 >新規ソフトウェアのインストール...、(経由で新しいリポジトリを追加する追加。..次のURLを指して、オプション):

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

次に、通常どおり更新ウィザードに従います。その後、Eclipseを再起動する必要があります。その後、関係するMavenプロジェクトでさらにUpdate Project ..を実行すると、エラーがなくなり、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
ベンハッチソン2016

1
otto.takari.ioサイトにアクセスできませんでしたが、拡張機能を入手できましたhttp://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
azurefrog

3
Eclipseの場合、火星は正しく動作します:repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/…。[インストール]-> [作業]フィールドに入力して、Enterキーを押します。リスト内のm2e拡張機能をチェックします(1つの選択肢のみ)。
hariprasad

1
「Mars.2」にも対応。
ピノ

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プラグインの競合
でした

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拡張機能をアップグレードしてください。

Help> Install New Software ..から、(Add ..オプションを使用して)新しいリポジトリを追加します。

プラグインの名前を指定してパスを追加 http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

インストールが完了したら、Eclipseを再起動してプロジェクトを更新してください。


運が悪いのにたくさんの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]を選択します。

ステップ-4右側の[アクティブなMavenプロファイル]テキストボックスに「pom.xml」が表示されます。クリアして[適用]をクリックします。

ステップ-5実行-> Mavenクリーン-> Mavenインストール

それが役に立てば幸い!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.