У плагина spring-boot-maven-plugin есть цель, которая позволяет вам упаковать существующий jar-файл. Это помогло мне переупаковать мою запутанную банку:
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.14</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>6.1.1</proguardVersion>
<obfuscate>true</obfuscate>
<injar>${project.build.finalName}.jar</injar>
<outjar>${project.build.finalName}.jar</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<proguardInclude>${basedir}/config.pro</proguardInclude>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
<lib>${java.home}/lib/jsse.jar</lib>
<lib>${java.home}/lib/jce.jar</lib>
</libs>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>6.1.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
<!--Repackaging using the spring-boot-maven-plugin-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>
<groupId>com.afferentsoftware</groupId>
<artifactId>securemessageprocessor</artifactId>
</exclude>
<exclude>
<groupId>com.afferentsoftware</groupId>
<artifactId>messagelibmodule</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
Однако я недавно перешел с Maven на Gradle (v5.4) и использую плагин spring-boot-gradle-plugin:
plugin
{
id 'org.springframework.boot' version '2.1.8.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
}
Я знаю, что задача bootJar теперь отвечает за создание весеннего загрузочного фляги. Однако я не смог использовать его, чтобы переупаковать мою запутанную банку.
Как я могу сделать это в Gradle с помощью Spring-boot-gradle-plugin?