簡體   English   中英

Grails沒有從本地倉庫下載最新的插件版本

[英]Grails not downloading latest plugin version from local repo

我的設置:

  • 我正在使用Grails 2.3.8
  • 我有幾個私有插件我通過“grails publish-plugin”手動發布到我的本地Nexus存儲庫
  • 我有幾個使用這些插件的Grails應用程序
  • 分布式開發團隊

我的目標:

  • 能夠部署我的私有插件的新版本,讓我的Grails應用程序自動使用這些最新版本,而無需修改他們的BuildConfig.groovy文件
  • 我知道內聯/嵌入式插件定義,這不是我想要的

可能的解決方案:

據我了解,可能至少有兩種方法可以實現我的目標:

  1. 部署我的插件的快照版本並讓我的Grails應用程序使用這些快照版本(例如,version =“0.1-SNAPSHOT”)
  2. 配置我的Grails應用程序的BuildConfig.groovy以使用“latest.release”或Maven版本范圍 例子:
    • 編譯'com.mycompany:some-plugin:latest.version'
    • 編譯'com.mycompany:some-plugin:[0.1,)'

問題:

上面兩種方法的工作。

它們都會導致我的插件的最新版本被下載,至少最初是這樣。 但是,如果我發布新版本的插件(無論是快照還是發布),在我的Grails應用程序上重新運行“grails run-app”不會嘗試下載/安裝可用的新版本。

我覺得我的M2_HOME本地存儲庫中的maven-metadata - *。xml文件限制了已知存在的版本(即使Nexus有更新版本可用)。

當我使用mavenRepo()定義我的Nexus repo時,是否需要傳遞一些參數來告訴Grails始終檢查遠程倉庫上的新版本而不依賴於本地倉庫?

Graeme在這里的建議似乎也沒有幫助: Dependencies和lastest.release

任何幫助都會很棒。 :-)

您是否為存儲庫配置了updatePolicy 看到

http://grails.org/doc/latest/guide/conf.html#changingDependencies

“Aether和SNAPSHOT依賴關系”一節。 例:

mavenRepo "http://myrepo", {
    updatePolicy "interval:1"
}

我正在使用2.3.7並且似乎遇到了類似的問題。 在開發過程中使用SNAPSHOT插件應該是您想要的。 我使用的一個解決方法是從Artifactory中刪除SNAPSHOT版本,然后在構建新的SNAPSHOT后,識別出插件更改。 我猜您正在使用Maven構建,現在是默認情況下您可以嘗試切換到常春藤構建,看看是否有幫助。 如果您能夠重新創建,則應創建JIRA。 我相信這是一個問題,我不記得在使用舊版本(2.1.5)和使用常春藤版本時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM