web-dev-qa-db-fra.com

Spring Boot 2 - Changer le nom du pot

J'utilise Spring Boot 2 dans mon projet Gradle pour faire un build en jar dans Jenkins, et je voudrais changer le nom de ce fichier jar.

Par défaut, Spring Boot 2 a utilisé la propriété Gradle rootProject.name, qui peut être défini dans le /settings.gradle fichier.

Cependant, je voudrais changer le nom du fichier jar, sans changer le rootProject.name.

Voici mes sections bootJar et springBoot des build.gradle fichier:

bootJar {
  launchScript()
}

.

springBoot {
  buildInfo {
    properties {
      artifact = "jarName"
      group = "groupName"
      name = "projectName"
      version = "1.0"
    }
  }
}

Remarque: artifact ne définit pas le nom du pot, comme je m'y attendais, après avoir lu: https: // docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/html/#integrating-with-actuator

9
Brandon Dudek

Merci à @ AndyWilkinson pour la réponse!

bootJar {
  baseName "jarName"
  launchScript()
}

.

springBoot {
  buildInfo {
    properties {
      group = "groupName"
      name = "projectName"
      version = "1.0"
    }
  }
}
6
Brandon Dudek

archiveFileName est la nouvelle nouveauté. Tout le reste est obsolète.

bootJar {
   archiveFileName = "${archiveBaseName.get()}.${archiveExtension.get()}"
}

Voir:

9
Planky

Puisque bootJar les tâches étendent Jar vous pouvez utiliser archiveName pour définir directement le nom du:

bootJar {
   archiveName = 'whatever'
}

Jetez un oeil ici .

7
Opal

Mon objectif était de supprimer la version du nom de l'archive. Je l'ai fait de cette façon:

bootJar {
   archiveName = "$baseName.$extension"
}

Gradle génère maintenant "project-name.jar" au lieu de "project-name-1.0-SNAPSHOT.jar". Cette solution est générale et ne code en dur aucun nom d'archive particulier.

3
naXa