首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ivy的代理设置

ivy的代理设置
EN

Stack Overflow用户
提问于 2010-05-27 21:10:35
回答 2查看 30.6K关注 0票数 18

我有一个问题,在中,我在ivy.xml中定义了对我们内部公司svn的依赖。我能够在没有任何代理任务的情况下访问这个svn站点。虽然我的依赖项驻留在ibiblio上,但那是我们公司之外的东西,需要代理才能下载一些东西。我在这里遇到了使用常春藤的问题。

我在build.xml上有以下内容

代码语言:javascript
复制
<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的摘录

代码语言:javascript
复制
<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时。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-14 09:26:44

使用setproxy时,请使用nonproxyhosts属性指定不应使用代理的主机(以竖线分隔)。例如,将示例中的setproxy任务修改为

代码语言:javascript
复制
<setproxy proxyhost="${proxy.host}"
          proxyport="${proxy.port}"
          nonproxyhosts="xyz.svn.com"/>

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

票数 14
EN

Stack Overflow用户

发布于 2010-05-28 03:42:47

蚂蚁代理设置

据我所知,代理设置不能在ANT文件中设置。documentation声明您需要设置以下环境变量

代码语言:javascript
复制
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中心依赖项,您需要一个如下所示的解析器

代码语言:javascript
复制
<ibiblio name="maven2" m2compatible="true"/>

这将自动转到Maven中央URL "http://repo1.maven.org/maven2“。根据doco的说法,这个解析器将使用Maven中的POMs模块来确定瞬时依赖关系。

最后一句警告。除非在ivysettings文件中使用modules节,否则请确保在链解析器中声明了解析器,以便ivy将在两个存储库中搜索每个模块

代码语言:javascript
复制
<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>
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2921364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档