代码之家  ›  专栏  ›  技术社区  ›  wilx

将META-INF/services文件与Maven Assembly插件合并

  •  3
  • wilx  · 技术社区  · 7 年前

    我正在寻找合并的方法 META-INF/services META-INF/services/javax.ws.rs.ext.Providers ,在构建时 jar-with-dependencies 使用Maven Assembly插件。我找到了一些答案,展示了如何使用Maven Shade插件实现这一点。不幸的是,我们已经在广泛使用Mave Assembly插件,现在还不清楚如何插入Maven Shade插件。。。在里面

    1 回复  |  直到 7 年前
        1
  •  6
  •   wilx    7 年前

    事实证明,一些版本的Maven Assembly插件可以合并这些文件:

    <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>