我正在寻找一种方法来合并 META-INF/services 文件,例如 META-INF/services/javax.ws.rs.ext.Providers,在使用 Maven Assembly 插件构建 jar-with-dependencies 时。我已经找到了使用 Maven Shade 插件如何实现此操作的答案。不幸的是,我们已经广泛使用了 Mave Assembly 插件,而且不清楚如何将 Maven Shade 插件集成进来。
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<!-- ... -->
<containerDescriptorHandlers>
<containerDescriptorHandler>
<handlerName>metaInf-services</handlerName>
</containerDescriptorHandler>
<containerDescriptorHandler>
<handlerName>metaInf-spring</handlerName>
</containerDescriptorHandler>
<containerDescriptorHandler>
<handlerName>plexus</handlerName>
</containerDescriptorHandler>
</containerDescriptorHandlers>
</assembly>