簡體   English   中英

如何將Artifactory WAR添加為Gradle依賴項

[英]How to add an Artifactory WAR as a Gradle dependency

我正在一個Spring MVC項目(使用Gradle)中工作,以產生一個要集成到不同項目中的模板。 模板項目包含少量HTML文件和一些用於處理屬性的類。 我已經配置了artifactory-gradle-plugin來生成和發布包含我的HTML文件和類的WAR。 一切正常,並且我的WAR和POM文件現在在Artifactory服務器下可用。 這是我的build.gradle文件的一部分

war {
    rootSpec.exclude('**/*.properties')
    [...]
    rootSpec.exclude('**/test/**')
    rootSpec.exclude('**/*.jar')
}

artifactory {
    publish {
        contextUrl = "myurl"  
        repository {
            repoKey = 'myrepo'
            username = "myuser"
            password = "mypasswd"
            maven = true
        }
        defaults {
            publications ('mavenJava')
        }
    }
}
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.web
        }
    }
 }    

不幸的是,當我嘗試將此工件添加為對其他項目的依賴時,Gradle成功地找到了WAR,但項目中沒有任何集成。 我在項目中找不到任何HTML,類或war文件。

dependencies {
    compile(group: 'test.spring', name: 'test-layout', version: '0.0.1', ext: 'war')
}

是否缺少某些東西,或者我是否完全了解這一點?

向war文件添加依賴項沒有任何意義,因為這是應用程序服務器而不是其他項目的包裝。

我建議您還從原始項目中發布其他工件,而是將其作為依賴項導入。

另一種選擇是將戰爭打包成一個單獨的任務,但是當您控制源項目時就不需要。

好吧,在Gradle論壇上問了同樣的問題之后,似乎沒有一種簡單的方法可以使用一個工件來實現這一目標,同時又不失去所有依賴關系(特別感謝Lance_Java)。 聽起來我必須創建一個JAR和一個ZIP工件(請參閱前面的@Joachim Nilsson帖子中描述的zip參考)

https://discuss.gradle.org/t/how-to-add-an-artifactory-war-as-a-gradle-dependency/19804/4

我的最終解決方案是將模板簡單地部署在“公共” Web存儲庫下,並將配置類部署在JAR工件中。

暫無
暫無

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

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