Después de la actualización de Spring Boot 2.5.0, genera el myprogram-0.0.1-plain.jar junto con el myprogram-0.0.1.jar habitual. ¿Puedo impedir que gradle genere el archivo *.plain.jar ? Yo uso Gradle 7.0.2.
Lo que consigo:
build/ libs/ myprogram-0.0.1.jar myprogram-0.0.1-plain.jarLo que quiero:
build/ libs/ myprogram-0.0.1.jarconstruir.gradle:
plugins { id 'org.springframework.boot' version '2.5.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-starter-test' } test { useJUnitPlatform() }Esta configuración de gradle producirá myprogram-0.0.1.jar en lugar de myprogram-0.0.1-plain.jar
En tu build.gradle.kts
// Build executable jar tasks.jar { enabled = true // Remove `plain` postfix from jar file name archiveClassifier.set("") }Fue un cambio en Spring Boot 2.5.0.
Como señaló @ThomasKläger: puede configurarlo en la configuración de build.gradle .
construir.gradle
jar { enabled = false }Para desarrolladores de Kotlin:
tasks.getByName<Jar>("jar") { enabled = false } Alternativamente, puede ejecutar la tarea bootJar . Produce solo el jar ejecutable predeterminado.
intente usar la siguiente configuración:
jar { enabled = true archiveClassifier = '' //use empty string }porque org.springframework.boot.gradle.plugin.JavaPluginAction.java
private void classifyJarTask(Project project) { project.getTasks().named(JavaPlugin.JAR_TASK_NAME, Jar.class) .configure((task) -> task.getArchiveClassifier().convention("plain")); }del archivo de fuentes spring-boot-gradle-plugin: https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-gradle-plugin/2.5.0/spring-boot-gradle-plugin-2.5 .0-fuentes.jar
En lugar de usar la tarea build gradle, podrías usar bootJar . Eso solo construirá el jar de arranque.
Tenga en cuenta que bootJar no ejecutará sus pruebas antes de construir.