我有一个问题,在中,我在ivy.xml中定义了对我们内部公司svn的依赖。我能够在没有任何代理任务的情况下访问这个svn站点。虽然我的依赖项驻留在ibiblio上,但那是我们公司之外的东西,需要代理才能下载一些东西。我在这里遇到了使用常春藤的问题。
我在build.xml上有以下内容
<target name="proxy">
<property name="proxy.host" value="xyz.proxy.net"/>
<property name="proxy.port" value="8443"/>
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"/>
</target>
<!-- resolve the dependencies of stratus -->
<target name="resolveTestDependency" depends="testResolve, proxy" description="retrieve test dependencies with ivy">
<ivy:settings file="stratus-ivysettings.xml" />
<ivy:retrieve conf="test" pattern="${jars}/[artifact]-[revision].[ext]"/><!--pattern here specifies where do you want to download lib to?-->
</target>
<target name=" testResolve ">
<ivy:settings file="stratus-ivysettings.xml" />
<ivy:resolve conf="test" file="stratus-ivy.xml"/>
</target>下面是stratus-ivysettings.xml的摘录
<resolvers>
<!-- here you define your file in private machine not on the repo (e.g. jPricer.jar or edgApi.jar)-->
<!-- This we will use a url nd not local file system.. -->
<url name="privateFS">
<ivy pattern="http://xyz.svn.com/ivyRepository/ [organisation]/ivy/ivy.xml"/>
</url>
.
.
.
<url name="public" m2compatible="true">
<artifact pattern="http://www.ibiblio.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</url>
.
.
. 因此,从这里可以看到获取ivy.xml,我不需要任何代理,因为它在我们自己的网络中,当我设置代理时不能访问。但另一方面,我也在使用ibiblio,它在我们的网络外部,只能与代理一起工作。所以上面的build.xml在这种情况下不起作用。有人能帮帮忙吗。
我在获取ivy.xml时不需要代理(就像我有代理一样,ivy不能从网络中找到代理后面的常春藤文件),我只是需要它,当我的解析器转到公共url时。
发布于 2011-03-14 09:26:44
使用setproxy时,请使用nonproxyhosts属性指定不应使用代理的主机(以竖线分隔)。例如,将示例中的setproxy任务修改为
<setproxy proxyhost="${proxy.host}"
proxyport="${proxy.port}"
nonproxyhosts="xyz.svn.com"/>有关更多详细信息,请参阅http://ant.apache.org/manual/Tasks/setproxy.html
发布于 2010-05-28 03:42:47
蚂蚁代理设置
据我所知,代理设置不能在ANT文件中设置。documentation声明您需要设置以下环境变量
export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"这些是系统属性(与普通的ANT属性相反)。
更新:我站起来了。我看到您正在使用setproxy方法来设置代理。我从来没有用过它。设置系统参数对我来说总是有效的,并且具有在构建文件之外的优势(例如,当我在家里没有代理的情况下工作时)。
配置"no proxy“选项
我不知道如何使用ANT代理机制排除本地主机。我所能建议的是尝试直接配置JRE
http://java.sun.com/j2se/1.4.2/docs/guide/plugin/developer_guide/proxie_config.html
Maven解析器
对于maven中心依赖项,您需要一个如下所示的解析器
<ibiblio name="maven2" m2compatible="true"/>这将自动转到Maven中央URL "http://repo1.maven.org/maven2“。根据doco的说法,这个解析器将使用Maven中的POMs模块来确定瞬时依赖关系。
最后一句警告。除非在ivysettings文件中使用modules节,否则请确保在链解析器中声明了解析器,以便ivy将在两个存储库中搜索每个模块
<chain name="defaultResolver" returnFirst="true">
<url name="privateFS">
<ivy pattern="http://xyz.svn.com/ivyRepository/ [organisation]/ivy/ivy.xml"/>
</url>
<ibiblio name="maven2" m2compatible="true"/>
</chain>https://stackoverflow.com/questions/2921364
复制相似问题