2012-01-06 8 views
2

Google App Engineプロジェクトの依存関係を管理しようとしています。私は最初のプロジェクトを生成するためにGoogleプラグインとEclipseを使用します。だから私はプロジェクトの中に次の瓶がある。Ivy全体でGoogle App Engineへの依存関係を宣言する

/war/WEB-INF/lib/appengine-api-1.0-sdk-1.6.1.jar 
/war/WEB-INF/lib/appengine-api-labs-1.6.1.jar 
/war/WEB-INF/lib/appengine-jsr107cache-1.6.1.jar 
/war/WEB-INF/lib/datanucleus-appengine-1.0.10.final.jar 
/war/WEB-INF/lib/datanucleus-core-1.1.5.jar 
/war/WEB-INF/lib/datanucleus-jpa-1.1.5.jar 
/war/WEB-INF/lib/geronimo-jpa_3.0_spec-1.1.1.jar 
/war/WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar 
/war/WEB-INF/lib/jdo2-api-2.3-eb.jar 
/war/WEB-INF/lib/jsr107cache-1.1.jar 

これらのjarファイルを自分のソースコントロールにチェックインするのではなく、ビルド時にこれらのjarファイルを取得するためにivyを使用したいと思います。もちろん、私は次のように、いずれかによって依存1を宣言することができます。

<dependency name="appengine-api-1.0-sdk" org="com.google.appengine" rev="1.6.1"/> 
... 

しかし瓶を一つずつを宣言するより良い方法、のようなものがあれば、私は思ったんだけど:

<dependency name="appengine" org="com.google.appengine" rev="1.6.1"/> 

私の希望がありますGAE全体に1つの依存関係のみを宣言します。上記の依存関係宣言は機能しません。自分のリポジトリを作成せずにこの目標を達成する方法はありますか?それはリポジトリをセットアップするのが複雑に見えるので、私はリポジトリリポジトリ(http://repo1.maven.org/maven2)を使用しています。

ありがとうございます!

+0

ちょっと@ジェームス、良い質問。あなたはアプリエンジンプロジェクトでIvyをセットアップするために何をする必要がありますか?私は瓶の束を持って、同じことをしたい。 – Scott

+0

私は最終的にすべてのjarファイルを自分のプライベートMavenリポジトリにアップロードし、すべてのIvyモジュールでそれらのエコーを参照します。これはエレガントではありませんが、それを解決するための最速の方法です。 –

答えて

1

短い答え:いいえ。

それらは明示的に依存関係としてリストされている場合はアイビーにのみ、追加のjarファイル/アーティファクトをダウンロードします。

<dependency name="appengine" org="com.google.appengine" rev="1.6.1"/> 

が動作するように

については、依存関係としてリストされているあなたに必要なすべての成果物を持っているartifactedという名前のAppEngineを、存在してそこに持っているでしょう。
Mavenリポジトリを使用するには、必要な依存関係をそれぞれリストする必要があります。

独自のリポジトリがある場合は、要件をサポートするアーティファクトを作成できますが、それを維持する必要があります。

0

「1行でそれを行う方法をsussedが、ここで私のivy.xml & ivysettings.xml

ivy.xml

<ivy-module version="2.0"> 

*ではありません>

<dependency org="com.google.appengine" name="appengine-api-1.0-sdk" rev="${com.google.appengine.version}" transitive="false" conf="build->default" /> 
<dependency org="com.google.appengine" name="appengine-api-labs" rev="${com.google.appengine.version}" transitive="false" conf="build->default" /> 
<dependency org="com.google.appengine" name="appengine-jsr107cache" rev="${com.google.appengine.version}" transitive="false" conf="build->default" /> 

<dependency org="org.datanucleus" name="datanucleus-core" rev="1.1.5" transitive="false" conf="build->default" /> 
<dependency org="org.datanucleus" name="datanucleus-jpa" rev="1.1.5" transitive="false" conf="build->default" /> 

<dependency org="com.google.appengine" name="datanucleus-appengine" rev="1.0.10.final" transitive="false" conf="build->default" /> 

<dependency org="org.apache.geronimo.specs" name="geronimo-jpa_3.0_spec" rev="1.1.1" transitive="false" conf="build->default" /> 
<dependency org="org.apache.geronimo.specs" name="geronimo-jta_1.1_spec" rev="1.1.1" transitive="false" conf="build->default" /> 

<dependency org="com.google.gwt" name="gwt-servlet" rev="2.4.0" transitive="false" conf="build->default" /> 
<dependency org="javax.jdo" name="jdo2-api" rev="2.3-eb" transitive="false" conf="build->default" /> 
<dependency org="net.sf.jsr107cache" name="jsr107cache" rev="1.1" transitive="false" conf="build->default" /> 

ivysettings.xml

<ivysettings> 

<property name="ivy.shared.default.artifact.pattern" value="[module]/[revision]/[type]s/[artifact]-[revision].[ext]" /> 

<resolvers> 
    <chain name="chained" returnFirst="true"> 
     <ibiblio name="ibiblio" root="http://mirrors.ibiblio.org/pub/mirrors/maven/" m2compatible="true"/> 
     <ibiblio name="utilisoft-nexus-thirdparty" root="http://ut-svn-01:8081/nexus/content/repositories/thirdparty/" m2compatible="true"/> 
     <ibiblio name="repo1" root="http://repo1.maven.org/maven2" m2compatible="true"/> 
     <ibiblio name="jboss-hibernate" root="http://repository.jboss.org/maven2/" m2compatible="true"/> 
     <ibiblio name="jboss-hibernate-public" root="http://repository.jboss.org/nexus/content/groups/public-jboss/" m2compatible="true" /> 
     <ibiblio name="ja-sig" root="http://developer.jasig.org/repo/content/groups/m2-legacy/" m2compatible="true" /> 
    </chain> 
</resolvers> 

<property name="com.google.appengine.version" value="1.6.4"/> 

関連する問題