0

A と B の 2 つの GAE Java プロジェクトがあります。A の成熟したクラスのいくつかを B で使用したいと考えています (もちろん、A でも引き続き使用します)。両方のプロジェクトは、maven を使用して作成され、Eclipse にインポートされました (私の考えでは、これにより maven がプライマリになり、Eclipse がセカンダリになります :-)。

Mavenをプライマリに保ちながら、これを行う最良の方法は何ですか?

解決策は次のようになると思います。

  • 新しい Maven プロジェクト C を作成します。
  • 共通クラスを C に移動します。
  • A と B の pom.xml に C を依存関係として含めます (最初に C を jar としてエクスポートせずにこれを行うことは可能ですか?)。

うまくいけば、この後、mvn appengine:devserverA と B を互いに独立して実行およびテストできるようになります (ほとんどの場合、実行によって行われます)。

Maven に関する私の知識は限られているため、このプロジェクト C を次のように作成するにはどうすればよいですか (たとえば、どのアーキタイプを使用するか)。

  • 独立した Eclipse プロジェクトとして正常にインポートされます。
  • jar としてエクスポート可能であること (必要な場合)、および、
  • C が変更されたときに A と B の再構築をトリガーします。mvn appengine:devserver

より良いが完全に異なる解決策があれば、それも考慮しても構いません。

構成:

  • OS: OS X 10.9.5
  • メイヴン: 3.1.1
  • Eclipse: m2eclipse を使用したケプラー (4.3)
  • Java: 1.7.0_45

ありがとう!!

4

2 に答える 2

1

どのアーキタイプを使用するかに関しては、maven クイックスタート アーキタイプを使用できます。

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart

から: https://maven.apache.org/archetype/maven-archetype-bundles/maven-archetype-quickstart/

于 2015-03-09T15:23:00.097 に答える
1

さて、あなたは「適切な」解決策に非常に近づいています。あなたはそれをあなたの質問に書いてください:-)

  • 新しい Maven プロジェクト C を作成します。
  • 共通クラスを C に移動します。プロジェクト C をビルド (mvn クリーン インストール) します。その結果、JAR はローカル リポジトリに配置されます。
  • これで、A と B の pom.xml に C を依存関係として含めることができます。

あなたが言及したように、プロジェクトCに変更がある場合、プロジェクトA + Bを再コンパイルする必要があることに注意してください。

もちろん、C.JAR はすぐに使用でき、Eclipse などの IDE とは関係ありません。

于 2015-03-09T11:16:54.733 に答える