Gradle 如何配置构建文件以从同一项目创建 Spring boot jar 和 spring web-mvc war
Posted
技术标签:
【中文标题】Gradle 如何配置构建文件以从同一项目创建 Spring boot jar 和 spring web-mvc war【英文标题】:Gradle how to configure build file to create Spring boot jar and spring web-mvc war from same project 【发布时间】:2017-10-28 20:11:51 【问题描述】:我需要从同一个项目中创建一个 spring boot jar 和 spring web mvc war 以在两个不同的环境中运行。我已经尝试在两种环境中都进行单一的战争,但是弹簧引导罐在容器中产生了问题(非弹簧引导环境),所以最好为两种环境使用不同的 jar/war。
现在在 spring mvc 战争中,我不想包含 spring-boot jars(starter 和 tomcat-starter)。同样,在 spring boot jar 中,我不想包含 spring-mvc 战争所需的容器特定 jar,例如 javax-servlet-api.jar。
如何使这两组不同的依赖项在同一个 gradle 文件中工作,并使用 war 和 spring-boot 插件来创建 war 和 jar 作为构建输出。
我是 gradle 新手,如果你有任何想法,请帮忙。
【问题讨论】:
【参考方案1】:在 build.gradle 文件中,更改如下
为了战争,
apply plugin: 'war'
war
baseName = 'name of the project'
group = group
manifest
attributes 'Implementation-Title': 'Title Of Project'
对于罐子,
apply plugin: 'jar'
jar
baseName = 'name of the project'
version = version
group = group
manifest
attributes 'Implementation-Title': 'Title Of Project'
【讨论】:
以上是关于Gradle 如何配置构建文件以从同一项目创建 Spring boot jar 和 spring web-mvc war的主要内容,如果未能解决你的问题,请参考以下文章
Gradle项目构建docker镜像(支持Gradle多模块)
使用 Build Flavors - 正确构建源文件夹和 build.gradle
在 IntelliJ IDEA 中创建 Java Gradle 项目并构建 .jar 文件 - 如何?