maven-shade-plugin: How to copy classes under BOOT-INF in the root of the generated jar?

73 Views Asked by At

So I have a spring boot application and I am creating a fat jar with the maven-shade-plugin like below

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.5.0</version>
        <executions>
          <execution>
            <id>id1</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <manifestEntries>
                    <Multi-Release>true</Multi-Release>
                  </manifestEntries>
                </transformer>
              </transformers>
              <filters>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>META-INF/*.SF</exclude>
                    <exclude>META-INF/*.DSA</exclude>
                    <exclude>META-INF/*.RSA</exclude>
                  </excludes>
                </filter>
              </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>

The thing is that I want the resulting jar to contain the classes under BOOT-INF both in the BOOT-INF directory and also be at the root of the jar.

Is there a way to do that? Any help would be appreciated!

0

There are 0 best solutions below