3

新しいプロジェクトのライフサイクル管理のためにからApache Ant + Apache Ivyに移行しています。Apache Maven

私は公式リリースに Maven を使用したことがないので、まったくの初心者です。

現在、Maven 3M2Eclipseプラグインをインストールして構成し、 JBoss 7にデプロイできるプロジェクトであるThe Blank Convention Archetype (struts2-archetype-convention)を使用して新しい Struts2 WAR プロジェクトを作成しました。

大量の記事と StackOverflow の回答を読んだ後、Maven の最初のルールは1 つのプロジェクト、1 つの成果物であることがわかりました。

次に、EAR を操作するには、EARWAREJBの 3 つのプロジェクトが必要です。しかし、この回答は、3つではなく4つのプロジェクトが必要であることを示唆しています:1つのEAR、1つのWAR、1つのEJB、および1つのPARENT。EJB が親になると思っていたので、最初の質問は次のとおりです。

  • 正しい方法はどれですか?

Struts2 WAR が動作するようになったので、2 番目の質問は次のとおりです。

  • 既存の WAR を EAR プロジェクト (または必要に応じて PARENT プロジェクト) に含める最良の (最もクリーンで一般的に使用される) 方法はどれですか?

手動で作成しますか? 他のear アーティファクトまたはJava-EE-webapp アーティファクトを生成してから、依存関係を追加しますか? 必要な架空の POM.xml の例を教えていただければ幸いです。

4

1 に答える 1

2

私は最終的に使用しました:

  1. 親、 EAR、EJB、WAR:

    mvn archetype:generate \
            -DarchetypeArtifactId=jboss-javaee6-webapp-archetype \
            -DarchetypeGroupId=org.jboss.spec.archetypes \
            -DarchetypeVersion=7.0.2.CR2
    
  2. WAR を生成するためのStruts2 ブランク コンベンション アーキタイプ:

    mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \
            -DartifactId=myWebApp \
            -DarchetypeGroupId=org.apache.struts \
            -DarchetypeArtifactId=struts2-archetype-convention \
            -DarchetypeVersion=<CURRENT_STRUTS_VERSION> \
            -DremoteRepositories=http://struts.apache.org
    
  3. 次に、JBoss によって生成された WAR を Struts2 によって生成された WAR に手動で置き換えました。

一番きれいな方法だと思います。

于 2013-10-15T12:36:45.960 に答える