私の目標は、Eclipse にインポートできる Maven を使用して Eclipse 用の Web アプリケーション プロジェクトを作成することです。これを行うための非常に簡単な方法があると確信しており、それが何であるかを知りたいです。
プロジェクトを生成するには、maven archetype プラグインを使用します。maven-archetype-webapp
コマンドラインから呼び出すときにを使用するように指示する方法は次のとおりです。
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
しかし、プロジェクトを Eclipse にインポートしたとき、[Run As] > [Run on server] オプションが表示されませんでした。
実際には、Eclipse/Maven 統合に何を使用するかによってすべてが異なります。基本的に 2 つのオプションがあります (両方ともWTP 統合を提供します)。
maven-eclipse-plugin
これは、Eclipseファイル (など)を生成できるMaven プラグインであり、プロジェクトを既存のプロジェクトとして Workspaceにインポートできます。.project
.classpath
- m2eclipseプラグインは、Eclipse内で Maven 統合を提供し、Maven プロジェクトを既存の Mavenプロジェクトとしてインポートできるようにする Eclipse プラグインです。
maven-eclipse-plugin アプローチ
を使用する場合は、 WTP サポートmaven-eclipse-plugin
用に設定する必要があります。一般的な設定は次のとおりです。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
<wtpmanifest>true</wtpmanifest>
<wtpapplicationxml>true</wtpapplicationxml>
<wtpversion>2.0</wtpversion>
<manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest>
</configuration>
</plugin>
この構成でmvn eclipse:eclipse
は、Maven プロジェクトで実行すると WTP ファイルが生成されるため、プロジェクトは動的プロジェクト (つまり、サーバー上で実行可能) として認識されます。次に、Import... > Existing projects into Workspaceでインポートします。
m2eclipse アプローチ
m2eclipse プラグインを使用する場合 (これが私の推奨事項です)、 Extras からMaven Integration for WTPを必ずインストールしてください。インストール手順から:
m2eclipse エクストラのインストール
オプションの m2eclipse コンポーネントをインストールするには、m2eclipse Extras 更新サイトを使用する必要があります。この更新サイトには、次の m2eclipse コンポーネントが含まれています。
- Maven SCM 統合
- Team/CVS の Maven SCM ハンドラー
- Subclipse の Maven SCM ハンドラー
- Mylyn 3.x の Maven 問題追跡コンフィギュレーター
- WTP の Maven 統合
- M2Eclipse 拡張機能の開発サポート
m2eclipse Extras 更新サイト: http://m2eclipse.sonatype.org/sites/m2e-extras
次に、 [インポート...] > [既存の Maven プロジェクト]を介してプロジェクトをインポートするだけです。それが webapp の場合は、動的プロジェクトとして認識されるはずです。
Indigo: Indigoの m2eclipse アプローチは異なります。Eclipse Indigo/3.7 の Maven/Tomcat プロジェクトを参照してください。
重要:どちらのアプローチも排他的であることに注意してください。どちらか一方を使用してください。ただし、どちらの場合も、正しく使用すればファセットを手動で追加する必要はありません。