2011-02-08 18 views
7

ivy.default.ivy.user.dirをデフォルトの${user.home}/.ivy2以外に設定したいとします。コマンドラインでAntでのivyホームディレクトリの設定

ant -Divy.default.ivy.user.dir=${WORKSPACE}/IVYCACHEとすることができます。しかし、私はそれをコマンドライン引数なしで設定したいと思います。私はbuild.xml、私のcommon.xmlと私のivysettings.xmlでこのプロパティを設定しようとしました。奇妙なことは、デフォルトのキャッシュをこのパスに設定しているようですが、冗長出力ではuser.dirのデフォルト設定がないので、${user.home}/.ivy2パスが使用されています。

ここでは、build.xmlファイルでuser.dirを設定したときの出力を示します。 は不思議、それは、私がその後

 
[ivy:buildlist] No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used 
[ivy:buildlist] Loading jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivy.properties 
[ivy:buildlist] searching settings file: trying /home/hudson/.hudson/jobs/Next_CI/workspace/ivysettings.xml 
[ivy:buildlist] searching settings file: trying /home/hudson/.hudson/jobs/Next_CI/workspace/ivyconf.xml 
[ivy:buildlist] searching settings file: trying ivysettings.xml 
[ivy:buildlist] searching settings file: trying ivyconf.xml 
[ivy:buildlist] no settings file found, using default... 
[ivy:buildlist] :: Ivy 2.2.0 - 20100923230623 :: http://ant.apache.org/ivy/ :: 
[ivy:buildlist] jakarta commons httpclient not found: using jdk url handling 
[ivy:buildlist] :: loading settings :: url = jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-public.xml 
[ivy:buildlist] no default cache defined: set to /home/hudson/.hudson/jobs/Next_CI/workspace/ivy2/cache 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-shared.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-local.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-main-chain.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-default-chain.xml 
[ivy:buildlist] settings loaded (71ms) 
[ivy:buildlist]   default cache: /home/hudson/.hudson/jobs/Next_CI/workspace/ivy2/cache 

はuser.dir

のために使用されるパスにデフォルトのキャッシュを設定し、それははuser.dirがどこにも設定されていないと主張しています。 解決:私は運と共通/ ivysettings.xmlと共通/するcommon.xmlにこの行を追加しようとしている

<property name="ivy.default.ivy.user.dir" value="${basedir}/ivy2" /> 

 
[ivy:resolve] Loading jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivy.properties 
[ivy:resolve] jakarta commons httpclient not found: using jdk url handling 
[ivy:resolve] :: loading settings :: file = /home/hudson/.hudson/jobs/Next_CI/workspace/common/ivysettings.xml 
[ivy:resolve] no default ivy user dir defined: set to /home/hudson/.ivy2 

は、ここに私のbuild.xmlラインです。

+0

この質問は現在解決していますか?あなたはそれを二度尋ねました.... http://stackoverflow.com/questions/5019550/can-i-turn-off-the-ivy-cache-all-together/5023172#5023172 –

答えて

5

私はあなたがツタバイナリダウンロードで提供サンプルbuild.xmlに指定されているとsamplesフォルダ内のivy2サブフォルダにダウンロードした成果物を見ることができ、正確なラインを追加しました。

... 
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /> 
<property name="ivy.default.ivy.user.dir" value="${basedir}/ivy2" /> 
... 

私はアイビー2.2とアリ1.8.2を使用しています。同じものがあなたのために働くかどうか確認できますか?

[編集]:docsから 、

(あなたがアリからツタ を呼び出す場合) 設定が行われたときに実際にすべての蟻のプロパティはツタ変数に を輸入しています。これは、 を設定するために コールの後でantプロパティを定義した場合、それが利用可能であることを意味します。 をivy変数として使用できません。

+0

私たちはivy 2.2を実行していますとアリ1.8.1。あなたがラインをしようとすることは何を意味するか分かりません。私は私のトップレベルのbuild.xmlファイルに入れて、それは動作しません。これは1.8.1のバグかもしれません。私はantを更新しようとします。 – user561638

+0

はアリ1.8.2を試しましたが、出力にはデフォルトのユーザーディレクトリは表示されず、必要な場所には置かれません。 – user561638

+0

サンプルのbuild.xmlファイルを使用して提案したことを試しましたが、もちろん動作します。だから、誰かが私のbuild.xmlに失敗する理由についてのヒントを教えてくれますか? – user561638

3

環境変数ANT_OPTSを使用すると、jvmパラメータを設定できます。だから、ANT_OPTSに 'ant'シェルスクリプトを呼び出すのと同じコマンドライン引数を置くことができます。例えば。 m $ windoozer:

ANT_OPTS=-Divy.default.ivy.user.dir=C:/IVYCACHE 
関連する問題