Perché non lo indaga in codice da solo? mergeServiceFiles
viene dichiarato esattamente here e la sua attuazione è il seguente:
/**
* Syntactic sugar for merging service files in JARs
* @return
*/
public ShadowJar mergeServiceFiles() {
try {
transform(ServiceFileTransformer.class);
} catch (IllegalAccessException e) {
} catch (InstantiationException e) {
}
return this;
}
Come si può vedere si utilizza ServiceFileTransfomer
che è definita here. Dai suoi documenti:
modificati rispetto org.apache.maven.plugins.shade.resource.ServiceResourceTransformer.java
Risorse trasformatore che aggiunge le voci nei servizi di risorse META-INF/in un'unica risorsa. Ad esempio, se ci sono diverse risorse META-INF/services/org.apache.maven.project.ProjectBuilder distribuite su molti JAR, le singole voci saranno tutte concatenate in un singolo META-INF/services/org.apache. maven.project.ProjectBuilder resource impacchettato nel JAR risultante prodotto dal processo di ombreggiatura.