[英]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.