![](/img/trans.png)
[英]How to download SNAPSHOT version from maven SNAPSHOT repository?
[英]Get latest snapshot version from Maven Repository in Gradle
我有一個項目,它使用 Gradle 將我們的 SNAPSHOT 工件發布到遠程 Maven 存儲庫。
當我發布到 Maven 時,時間戳和內部版本號被附加到 Jar 名稱。 我正在嘗試從其他項目之一下載最新版本,即 myjar-1.6.0-20170926.190543-10.jar。 除非我從我的 .gradle 中刪除它或重新啟動我的工作空間,否則我無法下載。
myjar-1.6.0-20170926.162756-7.jar
myjar-1.6.0-20170926.162756-7.jar.md5
myjar-1.6.0-20170926.162756-7.jar.sha1
myjar-1.6.0-20170926.162756-7.pom
myjar-1.6.0-20170926.162756-7.pom.md5
myjar-1.6.0-20170926.162756-7.pom.sha1
myjar-1.6.0-20170926.182639-8.jar
myjar-1.6.0-20170926.182639-8.jar.md5
myjar-1.6.0-20170926.182639-8.jar.sha1
myjar-1.6.0-20170926.182639-8.pom
myjar-1.6.0-20170926.182639-8.pom.md5
myjar-1.6.0-20170926.182639-8.pom.sha1
myjar-1.6.0-20170926.182748-9.jar
myjar-1.6.0-20170926.182748-9.jar.md5
myjar-1.6.0-20170926.182748-9.jar.sha1
myjar-1.6.0-20170926.182748-9.pom
myjar-1.6.0-20170926.182748-9.pom.md5
myjar-1.6.0-20170926.182748-9.pom.sha1
myjar-1.6.0-20170926.190543-10.jar
myjar-1.6.0-20170926.190543-10.jar.md5
myjar-1.6.0-20170926.190543-10.jar.sha1
myjar-1.6.0-20170926.190543-10.pom
myjar-1.6.0-20170926.190543-10.pom.md5
myjar-1.6.0-20170926.190543-10.pom.sha1
依賴項目有以下
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds'
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
compile ( group: "com.test", name:"myjar", version: "1.6.0-SNAPSHOT", changing: true );
也試過
compile ( "com.test:myjar:latest.integration);
但沒有任何效果。 讓我知道如何解決這個問題?
您可以使用--refresh-dependencies
運行本地構建。 請參閱此問題的答案如何強制 gradle 重新下載依賴項? 了解更多信息。
我遇到和你一樣的情況。
我在應用程序端,當我使用服務器端的 jar 時,jar 是通過添加 maven repo 並在 build.gradle 中添加項目依賴項來包含的,如下所示:
buildscript {
repositories {
mavenLocal()
maven { url 'http://maven.xxx.com/xxx/xxx/‘ }
}}
dependencies {
...
implementation ‘project_group_id:artifact_id:latest.integration’
}
我沒有使用./gradlew build --refresh-dependencies
來清除緩存,而是直接進入緩存文件夾/Users/your_user_name/.gradle/caches/modules-2/files-2.1
並刪除本地 jar 以便下載更新一。
但是還是失敗了...
最后發現原因很奇怪:我們包含了幾個maven repo,一個repo和我們需要的項目是一樣的,但是每個版本代碼只有一個版本。它在maven repo的前面,我們可以從中下載最新的jar,因此它阻止了最新版本的更新。 我們交換這兩個repo的順序,問題就消失了。
就我而言,這與 maven 配置或緩存無關,這是由於 gradle 中包含的 repo。 更進一步的原因還需要挖掘。
希望可以幫助遇到同樣問題的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.