2011-06-15 31 views
0

this question類似,我無法執行glassfish部署,因爲目前澳大利亞的某些服務器已關閉。我已經將工件在本地緩存了好幾個月。maven:如何防止插件更新

如何告訴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不要嘗試插件更新。

回答

5

使用-o--offline切換器脫機工作 - 這應該讓Maven不費心去檢查任何存儲庫是否有新的更新或快照,就好像您沒有網絡訪問一樣。

此外 - 您是否爲每個插件指定了<version>?應該不需要檢查發佈插件版本的更新。

+0

我確實嘗試過「-o」。但是當與「glassfish:重新部署」一起使用時,會導致「沒有這樣的本地命令,取消部署」。我有 2.1爲maven-glassfish-plugin指定。 – 2011-06-15 18:18:37

+0

Doh,如果我將「-o」移動到命令行的第一個參數arg上,謝謝! – 2011-06-15 18:23:13

1

如果您使用maven 2,則有一個名爲plugin-registry.xml的文件,您可以在其中指定每個插件的版本。這個文件的醜陋之處在於它必須複製/安裝在使用maven的每個盒子(ci服務器,開發盒等)上。

好處是你可以指定一個版本,下載一個版本,它不會再被更新。

如果你遷移到maven 3,這已經被整理出來了,你可以在pom上指定你想要的版本。

相關問題