如何使用spring boot plugin 2.0.x从一个具有不同依赖项的gradle项目生成2个jar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用spring boot plugin 2.0.x从一个具有不同依赖项的gradle项目生成2个jar相关的知识,希望对你有一定的参考价值。

我正在尝试将我的项目迁移到最新版本的Spring和Spring Boot。在我遇到这个问题之前,一切都很平静。

我们的一个项目生成最终Jar的两个版本,一个具有最小依赖性的普通可运行,另一个具有所有额外模块。

当我使用Spring Boot 1.5.x版时,解决方案很简单,我们使用'customConfiguration`

当我使用旧插件时,我的配置文件或多或少看起来像那样

bootRepackage{ 
    customConfiguration = "addons"
}


dependencies {
    compile "my.org:core-lib:1.0.0"
    addons  "my.org:extra-lib:1.0.0"
}

现在bootRepackagebootJar取代,customConfiguration没有财产configurations { //second jar's configuration addons } dependencies { .... // sample dependency addons group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1' } task customJar(type: org.springframework.boot.gradle.tasks.bundling.BootJar){ baseName = 'custom-spring-boot' version = '0.1.0' mainClassName = 'hello.Application' from { // this is your second jar's configuration configurations.addons.collect { it.isDirectory() ? it : zipTree(it) } } with bootJar } // add a dependency to create both jars with gradle bootJar Command bootJar.dependsOn customJar 。这是可以在最新版本的插件中做,如果是的话,那么有人可以指出我正确的方向。

答案

bootJar是Jar类的子类,因此您可以在此处使用Jar任务的配置。

例:

qazxswpoi

(我不知道有哪种方法可以做到这一点)

以上是关于如何使用spring boot plugin 2.0.x从一个具有不同依赖项的gradle项目生成2个jar的主要内容,如果未能解决你的问题,请参考以下文章

如何运行 spring boot 重新打包目标

不使用spring-boot-starter-parent

未能执行目标 org.springframework.boot:spring-boot-maven-plugin:2.2.5.RELEASE:run (default-cli)

docker与Spring boot的集成:docker-maven-plugin使用

Spring Boot 无法执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test

使用spring-boot-maven-plugin打包