繁体   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