web-dev-qa-db-ja.com

org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINERとは何ですか?IntelliJで機能させるにはどうすればよいですか?

私はJavaコードベースをIntelliJで使用しようとしています。コードベースは約20 Java一緒にビルドされたパッケージで構成されています個別のプロジェクトとして(それぞれに.classpathおよび.projectファイルが含まれている約20のディレクトリがあります。)それらは相互に依存関係があります。

IntelliJにこれらをEclipseビルド形式からインポートしてもらいました。 Project Settings -> Modules -> Dependenciesは、多くのプロジェクトがorg.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINERへの未解決の依存関係を持っていることを示していることを除いて、ほとんど機能しているように見えました。これは、.classpathファイルの次のエントリにあるようです。

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.Eclipse.jst.component.nondependency" value=""/>
    </attributes>
</classpathentry>

この依存関係を持つパッケージは、他のパッケージへの依存関係を解決できないため、IntelliJでビルドされません。

org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINERは、別のIDEに変換されないEclipse固有のトリックであると思われますが、ここで何が起こっているのか正確に理解できません。

org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINERとは何ですか? Eclipseの外部で動作させるためにそれを使用するビルド環境に特別なことをする必要がありますか?

IntelliJ Ultimate 2016.1.2、Java 1.8.0_91、OS X 10.11.5


私はこの問題を回避するために、プロジェクト設定->モジュールに移動し、すべてがビルドされるまで、さまざまなプロジェクト間のモジュール依存関係を手動で追加しました。退屈ですが効果的です。

ただし、org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINERの簡単な定義が役に立ったので、この質問はここに残しておきます。

18
W.P. McNeill

私にとってうまくいく解決策を考え出しましたが、報奨金はまだ開いていて(それを閉じることができないので:P)、より詳細な説明を提供できる人に行きます。

解決策:mvn Eclipse:cleanおよびmvn Eclipse:eclipseを実行します。これにより、mavenは.classpathファイルをクリアし、pom.xmlから再構築します。やや不思議なことに、org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINERへの恐ろしい参照はもう含まれていません。

おそらく、これはEclipseでは非推奨のタグ/変数です。

3
Daniel Patrick

はじめに

IntelliJ IDEA Maven-2プラグインは、Maven-2をIntelliJ IDEAに統合します。

まず、

enter image description here

2番目、

enter image description here

3番目、

enter image description here

Antプラグインと同様に、Maven-2プラグインは、目標(またはフェーズ)の実行を許可し、出力(エラーの強調表示付き)をメッセージウィンドウにリダイレクトします。

Installation

IDEA 6.0(バージョン1.1まではIDEA 5.0も)まで)の場合、IDEA組み込みプラグインマネージャを介して、または{{ http:/ /plugins.intellij.net/plugin/?id=1166 }}。

プラグインをダウンロードした場合は、バイナリアーカイブのコンテンツをIDEAプラグインディレクトリに抽出します。抽出されたフォルダ(idea-maven-plugin)には、すべてのJARが存在する別のフォルダlibが含まれています。

使用法

環境変数Java_HOMEおよびM2_HOMEを指定したと仮定すると、プラグインはそれ以上の構成なしで実行できる状態になります。 Java_HOMEが定義されていない場合、プラグインは内部のIDEA JDKを使用します。

M2_HOMEが定義されていない場合は、設定ダイアログでMaven-2のホームディレクトリを指定する必要があります。これは、プラグインのバージョン1.1以降の変更点です。

バージョン1.1より前は、Mavenは通常のMavenインストールで提供されている起動スクリプトを介して呼び出されていました。実行中のMavenプロセスへのアクセスを改善するために、MavenはJavaプロセスを開始することによって直接呼び出されます。これにより、たとえば、実行中のMavenプロセスをユーザーが終了できます。

設定は2つの方法で行うことができます:

IDE設定またはプロジェクト設定のいずれかを使用します。プロジェクト設定は常にアプリケーション設定を上書きします!

プラグインは、6.0より前のバージョンのIDEA=では機能しません!プラグインはWindowsおよびLinuxでテストされています。MacOS Xではテストされていません。

リソースリンク:

  1. Maven 2統合
  2. IntelliJ IDEAへのMaven依存関係のインポート
3
SkyWalker