Maven User-Agent属性和pluginRepository

时间:2012-09-04 03:02:50

标签: c++ maven user-agent

我想要什么

让本指南发挥作用 http://blog.bigpixel.ro/2012/07/building-cc-applications-with-maven/

错误

我遇到麻烦的HTTP 500错误代码,如下所示:

[ERROR]     Unresolveable build extension: Plugin org.apache.maven.plugins:maven-nar-plugin:2.1-SNAPSHOT or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-nar-plugin:jar:2.1-SNAPSHOT (): Failed to read artifact descriptor for org.apache.maven.plugins:maven-nar-plugin:jar:2.1-SNAPSHOT: Could not transfer artifact org.apache.maven.plugins:maven-nar-plugin:pom:2.1-SNAPSHOT from/to Duns maven snapshot (http://duns.github.com/maven-snapshots/): Failed to transfer file: http://duns.github.com/maven-snapshots/org/apache/maven/plugins/maven-nar-plugin/2.1-SNAPSHOT/maven-nar-plugin-2.1-SNAPSHOT.pom. Return code is: 500, ReasonPhrase:( The request was rejected by the HTTP filter. Contact your Forefront TMG administrator.  ). -> [Help 2]

我尝试了什么

我开始使用'maven入门5分钟'教程。由于我在当前网络上实现了最前沿,因此遇到500 HTTP错误时,这并不顺利。我设法通过在settings.xml中设置User Agent字符串属性来解决这个问题。

<servers>
    <server>
        <id>central</id>
        <configuration>
          <httpHeaders>
            <property>
                <name>User-Agent</name>
                <value>Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; InfoPath.1; SV1; .NET CLR 3.8.36217; WOW64; en-US)</value>
            </property>
          </httpHeaders>
        </configuration>
    </server>
</servers>

这很有效,我能够让maven为java项目工作。

我原本以为这将是HTTP 500错误的结束,但每当我尝试从新的pluginRepository中提取插件时,我仍然会得到它们。

我遵循了顶部链接的指南,但有一个例外。我没有将pluginRepository放在父文件夹的pom.xml中,而是将其放入settings.xml文件中的配置文件中。我首先尝试放入pom.xml,但后来将其删除,希望能解决它。

maven中是否有某些内容不符合我指定的User-Agent字符串?为什么它适用于maven 5分钟教程而不是其他任何东西?

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

想出来。

事实证明,我必须为每个插件存储库创建另一个服务器条目,我希望maven通过在标记中定位pluginRepository的ID来使用自定义User-Agent字符串。

现在,如果只有某种方法将用户代理字符串应用于所有未来定义的pluginrepositories

编辑:跟进,我无法在maven中找到将用户代理字符串应用于所有pluginrepository配置的方法。我想出了一个涉及Squid作为代理的解决方案,它将传出的http请求中的User-Agent属性替换为自定义的一个,并配置maven以使用该代理。它完美地运作。