5

Mac 10.7.5 で Ant 1.9 を使用しており、Ivy をインストールしました。依存関係をダウンロードするのに問題があります。Ivy 解決ターゲットを含むこの build.xml ファイルがあります

<project  xmlns:ivy="antlib:org.apache.ivy.ant" name="hello-ivy" default="run">

    <target name="resolve" description="retrieve dependencies with ivy">
        <ivy:retrieve />
    </target>
    ...
    <target name="createSOAPClientJars" depends="resolve">
        <generateSOAPClientJar serviceName="bsexample"
                      wsdlPath="${bsexample.service.wsdl.url}"/>
    </target>

</project>

次に、この ivy.xml ファイルを build.xml ファイルと同じレベルに配置します。

<ivy-module version="2.0">
   <info organisation="org.apache" module="hello-ivy"/>
    <dependencies>
            <dependency org="com.sun.xml.ws" name="jaxws-tools" rev="2.1.4"/>
    </dependencies>
</ivy-module>

しかし、Ant ターゲットを実行すると、すべてがハングします。

Daves-MacBook-Pro:antws davea$ ant createSOAPClientJars
Buildfile: /Users/davea/antws/build.xml

resolve:
[ivy:retrieve] :: Apache Ivy 2.3.0 - 20130110142753 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/opt/apache-ant-1.9.0/lib/ivy-2.3.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: org.apache#hello-ivy;working@Daves-MacBook-Pro.local
[ivy:retrieve]  confs: [default]

依存関係を解決してターゲットをキックスタートするために何が欠けていますか?

4

3 に答える 3

2

デフォルトのアイビー設定を使用しているようです。これは、ivy が Maven Central (オープン ソース Java ソフトウェアの最大のリポジトリ) からアーティファクトをダウンロードしようとすることを意味します。

解決がハングしている場合は、ネットワーク プロキシの使用が原因である可能性が最も高いです。Ivy は接続を試み、最終的にタイムアウトします。残念ながら、タイムアウトを指定する機能を求める未解決の問題IVY-735があります。デフォルトでアイビーがどれくらい待機するかはわかりません.....

于 2013-07-03T17:17:21.513 に答える
1

デイブの元の投稿で説明したのと同様の問題がありました。インターネット接続と、ivysettings.xml にリストされているリポジトリ URL を確認したところ、すべて問題ないように見えました。

コマンドがダウンロード URL に解決されないように見える理由を調べている間、「ant ランタイム」コマンドをバックグラウンドで待機させていましたが、2、3 分待機すると、パッケージのダウンロードが開始されました。

よくわかりませんが、Mavenリポジトリサーバーで最初のリクエストを受信したときに、サーバー側にデフォルトの待機時間があるのか​​もしれません。

于 2016-08-30T14:40:59.967 に答える
0

この質問は古いものだと思いますが、今日、新しい Mac をインストールした後、ツタの解像度の問題が発生しました。私の古いシェル プロファイルには、次のものがありました。

export ANT_OPTS="-Dhttp.proxyHost=xyz-proxy -Dhttp.proxyPort=8080"

企業のファイアウォールの内側で作業している場合 (必要に応じて変更xyz-proxy) 8080

ant がどこにぶら下がっているかを理解しようとすると (便利: )、 httpsant -v test経由でアーティファクトをダウンロードしようとして明らかにぶら下がっていました。代わりに、次を使用します。

export ANT_OPTS="-Dhttps.proxyHost=xyz-proxy -Dhttps.proxyPort=8080 -Dhttp.proxyHost=xyz-proxy -Dhttp.proxyPort=8080"

httpsつまり、とhttpプロキシの両方を定義します(必要に応じて と を変更xyz-proxy8080ます)。

ビンゴ、今ではすべて正常に動作します。

于 2016-10-14T19:56:35.340 に答える