19

我有一个问题,在中,我在ivy.xml中定义了对内部公司svn的依赖性。我可以访问这个svn站点,而无需在ant中执行任何代理任务。虽然我的依赖项驻留在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}”/></目标><!-- 解决stratus-->的依赖性<target name=“resolveTestDependency”depens=“testResolve,proxy”description=“使用ivy检索测试依赖项”><ivy:settings file=“stratus-ivysettings.xml”/><ivy:retrieve conf=“test”pattern=“${jars}/[artifact]-[revision].[ext]”/><--此处的模式指定要将lib下载到哪里?--></target><target name=“testResolve”><ivy:settings file=“stratus ivysettings.xml”/><ivy:resolve-conf=“test”file=“stratus-ivy.xml”/></target>

以下是stratus-ivysettings.xml的摘录

<解析器><!-- 在这里,您可以在不在repo上的私有机器中定义文件(例如jPricer.jar或edgApi.jar)--><!-- 这将使用url nd而不是本地文件系统。--><url name=“privateFS”><ivy pattern=“http://xyz.svn.com/ivyRepository网站/[组织]/ivy/ivy.xml“/></url>.  .  .  <url name=“public”m2compatible=“true”><artifact pattern=“http://www.ibiblio.org/maven2/[组织]/[模块]/[修订]/[工件]-[修订]。[扩展名]“/></url>.  .  .

从这里可以看出,获取ivy.xml时,我不需要任何代理,因为它位于我们自己的网络中,在设置代理时无法访问。但另一方面,我也在使用ibiblio,它在我们的网络之外,只与代理一起工作。因此,上述build.xml在这种情况下不起作用。有人能帮忙吗。

获取ivy.xml时我不需要代理(就像我有代理一样,ivy无法从网络中找到代理背后的ivy文件),我只需要在解析器转到公共url时使用它。

1

1答案1

重置为默认值
15

使用时setproxy(设置代理),使用非代理主机属性指定代理不应用于的主机(管道分隔)。例如,修改setproxy(设置代理)将示例中的任务

<setproxy-proxyhost=“${proxy.host}”proxyport=“${proxy.port}”nonproxyhosts=“xyz.svn.com”/>

有关更多详细信息,请参阅http://ant.apache.org/manual/Tasks/setproxy.html

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.