Hvordan laver man fjederbaseret eksekverbar krukke med maven?
Du kan tilføje følgende konfiguration, så indholdet af .schema-filerne fra alle krukkerne bliver tilføjet sammen.
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
</configuration>
Brug onejar-maven-plugin i stedet for maven-shade-plugin. One-JAR giver dig mulighed for at pakke et Java-program sammen med dets afhængighed Jars i en enkelt eksekverbar Jar-fil.
I går stødte jeg også på dette problem.
Løsningen var at forberede de nødvendige filer ved manuel sammenkædning og konfiguration af monteringsplugin ved denne:
<files>
<file>
<source>src/META-INF/spring.schemas</source>
<outputDirectory>META-INF</outputDirectory>
</file>
<file>
<source>src/META-INF/spring.handlers</source>
<outputDirectory>META-INF</outputDirectory>
</file>
</files>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
<scope>runtime</scope>
<unpackOptions>
<excludes>
<exclude>META-INF/spring.handlers</exclude>
<exclude>META-INF/spring.schemas</exclude>
</excludes>
</unpackOptions>
</dependencySet>
</dependencySets>
BEMÆRK:Det er ikke godt nok at bruge én jar-tilgang - du kan ikke være sikker på håndblandede filer, prøv at fortsætte med at eksportere alle afhængigheder, som de er...