2011-01-27 6 views
6

私はGAEの世界では新しいです。私はEclipseとGAEのSDKを使用しています。私はGAEアイコンを使ってクラウドにデプロイすることができます。問題は、無限の依存関係をインポートする必要があるときに発生します。次に、そのためにmavenを使用したいと思います。 のmaven-GAE-プラグイン私はGAEプロジェクトにmavenを使いたいのですが、どうすればいいですか?

私はdependencysをフェッチするために定期的にMavenだけを使用することができますか、私はこれを行うためにGAEの特別なプラグインを使用する必要があります:私はと呼ばれる特殊なGAEのMavenプラグインがあることを発見しましたか?

おかげ

答えて

4

依存関係を宣言するプロジェクトには、pom.xmlを定義する必要があります。
mavenでビルドすると、依存関係はリモートリポジトリからダウンロードされ、ローカルリポジトリ$ {userhome} /。m2/repositoryに保存されます。
mavenビルドでは、warファイルの依存関係もバインドされます。

最も簡単な方法は、アーキタイプを使用してプロジェクト構造を作成することです。

  1. GAE-原型-GWT、GAE-のmaven-pluginのに隣接して構築されて、このarticleを参照してください。

    は、私がこれまでGAEのために試してみた2つの原型をあります。

  2. gae-eclipse-maven-archetypeを参照してください。articleを参照してください。また、ヘリオスアップデート用の記事の上部にあるリンクにも注意してください。

名前が示すようにGAE-日食-のmaven-原型は日食のためのより良いサポートを持って、私はMavenのための構成およびEclipseはGAE-日食-のmaven-原型が行くおり、お互いに衝突されていることを発見されました緩和するための長い道のり。

現在のプロジェクトでmaven directory structureが使用されていない場合は、上り坂があります。 Mavenプロジェクトは、デフォルトオプションのすべてを無効にする必要がなく、グレインに逆行するのではなく、ほとんど賢明なオプションであるデフォルトに適合しようとすると、設定が簡単です。

+1

統合に関するちょっとしたメモ。Mavenの中央リポジトリで現在利用可能なApp Engineの依存関係には別の問題があります。 SDKではdatanucleus-appengineのバージョンは1.0.8ですが、リポジトリの場合は1.0.8です。これは、WEB-INF/libで同じJARを2回使用して終了させることがあります。私はまだこれを解決する方法を見つけ出していないが、それを見つけたらそれは原型の一部になるだろう。よろしくお願いします。gae-eclipse-maven-archetypeの作者です。 – hleinone

+0

@hleinoneアーキタイプの偉大な作業、それは本当に便利です - ありがとう! – crowne

1

あなたはそれだけの依存関係の管理のためにMavenを使用することはできません理由はありません。 GAEの依存関係は、すべて中央にあります。

は、継続的インテグレーションの下で実行されているとき、私は個人的にdevにEclipseのプラグインとMavenプラグインを使用しhere

それを設定する方法についての書き込みアップがあります。

主な問題は、maven依存関係がGAEプラグインの依存関係下にあるビルドパスの最後のものであることを確認する助言に従うことです。

0

ニーズにそれを修正し、あなたのpom.xmlに以下を追加します。あなたは、その後にそれらを追加し、The Central Repository under com.google.appengineのものアーティファクトのために見て、appengine-api-1.0-sdk以外の任意の追加のGAE関連のアーティファクトを必要とする場合には

<project> 
... 
    <properties> 
    ... 
     <com.google.appengine-version>1.6.4</com.google.appengine-version> 
    ... 
    </properties> 
    <dependencies> 
    ...  
     <dependency> 
      <groupId>com.google.appengine</groupId> 
      <artifactId>appengine-api-1.0-sdk</artifactId> 
      <version>${com.google.appengine-version}</version> 
     </dependency> 
    ... 
    </dependencies> 
... 
</project> 

をあなたのpom.xmlの依存関係リスト。

関連する問題