maven:如何防止插件更新

时间:2011-06-15 18:06:59

标签: java maven maven-plugin

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不要尝试更新插件。

2 个答案:

答案 0 :(得分:5)

使用-o--offline开关脱机工作 - 这应该让Maven无需检查任何存储库是否有新的更新或快照,就像您没有网络访问权一样。

此外 - 您是否为每个插件指定了<version>?不需要检查发布插件版本的更新。

答案 1 :(得分:1)

如果您使用maven 2,则会有一个名为plugin-registry.xml的文件,您可以在其中指定每个插件的版本。关于这个文件的丑陋之处在于它必须在每个使用maven(ci服务器,开发盒等)的盒子上复制/安装。

好处是你可以指定一个版本,一个版本下载,它不会再次更新。

如果你迁移到maven 3,这已经整理好了,你可以在pom上指定你想要的版本。