与this question类似,我无法进行glassfish部署,因为目前澳大利亚的某些服务器已关闭。我已经在本地缓存了几个月的工件。
如何告诉maven不要尝试更新插件(及其依赖项)?我尝试将以下内容添加到我的pom中,但它没有帮助:
<pluginRepositories>
<pluginRepository>
<id>ocean</id>
<url>http://maven.ocean.net.au</url>
<releases>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
我也尝试过命令行开关。有-npu
,似乎对Maven 2.2.1没有帮助。在Maven 3上,文档说“无效,只能保持向后兼容性”,所以我对这个没有太大的希望。
我们很快就会转向Nexus,但应该有一种简单的方法告诉maven不要尝试更新插件。
答案 0 :(得分:5)
使用-o
或--offline
开关脱机工作 - 这应该让Maven无需检查任何存储库是否有新的更新或快照,就像您没有网络访问权一样。
此外 - 您是否为每个插件指定了<version>
?不需要检查发布插件版本的更新。
答案 1 :(得分:1)
如果您使用maven 2,则会有一个名为plugin-registry.xml的文件,您可以在其中指定每个插件的版本。关于这个文件的丑陋之处在于它必须在每个使用maven(ci服务器,开发盒等)的盒子上复制/安装。
好处是你可以指定一个版本,一个版本下载,它不会再次更新。
如果你迁移到maven 3,这已经整理好了,你可以在pom上指定你想要的版本。