让本指南发挥作用 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分钟教程而不是其他任何东西?
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
想出来。
事实证明,我必须为每个插件存储库创建另一个服务器条目,我希望maven通过在标记中定位pluginRepository的ID来使用自定义User-Agent字符串。
现在,如果只有某种方法将用户代理字符串应用于所有未来定义的pluginrepositories
编辑:跟进,我无法在maven中找到将用户代理字符串应用于所有pluginrepository配置的方法。我想出了一个涉及Squid作为代理的解决方案,它将传出的http请求中的User-Agent属性替换为自定义的一个,并配置maven以使用该代理。它完美地运作。