我在Mac 10.7.5上使用Ant 1.9而我刚刚安装了Ivy . 我遇到了下载依赖项的问题 . 我有这个build.xml文件和我的常 Spring 藤解决目标
<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]
为了让依赖关系解决并启动我的目标,我缺少什么?
3 回答
我遇到了与Dave原帖中描述的类似问题 . 我检查了我的Internet连接以及ivysettings.xml中列出的存储库URL,一切看起来都没问题 .
当我查看为什么命令似乎没有解析为下载URL时,我让'ant runtime'命令在后台等待,并且在等待2或3分钟后,包下载开始发生 .
我不确定,但是当在maven存储库服务器上收到初始请求时,服务器端可能存在某种默认的等待时间 .
看起来你正在使用默认的常 Spring 藤设置 . 这意味着常 Spring 藤将尝试从Maven Central(最大的开源Java软件库)下载工件 .
如果您的决心悬而未决,则最有可能是因为使用了网络代理 . 常 Spring 藤将尝试连接并最终超时 . 不幸的是,有一个公开的问题IVY-735要求能够指定超时 . 我不知道常 Spring 藤有多长时间等待.....
我意识到这个问题有点老了,但是我在安装新的Mac之后今天才解决了常 Spring 藤问题 . 在我的旧shell配置文件中,我有:
当我在公司防火墙后工作时(根据需要更改
xyz-proxy
和8080
) .试图了解 Ant 挂在哪里(有用:
ant -v test
),它显然是试图通过 https 下载文物 . 所以相反,我现在使用:即定义
https
和http
代理内容(并再次根据需要更改xyz-proxy
和8080
) .宾果,现在一切正常 .