java - 如何使用 Maven Shade 插件捆绑来自不同模块的类

标签 java maven maven-shade-plugin

我想生成一个包含包“com.x”和来自另一个包“com.y”的类(比方说,Utils.class)的jar。我可以将完整的包 com.y 捆绑在阴影 jar 中,但我只想要一个类。它似乎不适用于我下面的。我也尝试过提供类的路径:com/bar/cli/pol/Utils.class,但没有任何运气。

   <dependencies>
      <dependency>
         <groupId>com.x</groupId>
         <artifactId>foo</artifactId>
      </dependency>
      <dependency>
         <groupId>com.y</groupId>
         <artifactId>bar</artifactId>
      </dependency>
   </dependencies>

   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.3</version>
            <executions>
               <execution>
                  <phase>package</phase>
                  <goals>
                     <goal>shade</goal>
                  </goals>
                  <configuration>
                     <artifactSet>
                        <includes>
                           <include>com.x:foo</include>
                           <include>com.y:bar:**/Utils.class</include>
                        </includes>
                     </artifactSet>
                  </configuration>
               </execution>
            </executions>
         </plugin>
      </plugins>
</build>

最佳答案

我通过执行以下操作来实现此目的:

<configuration>
<finalName>myshadedjar</finalName>
<artifactSet>
    <includes>
        <include>com.x:foo</include>
        <include>com.y:bar</include>
    </includes>
</artifactSet>
<filters>
    <filter>
        <artifact>com.y:bar</artifact>
        <includes>
            <include>com/bar/cli/pol/Utils.class</include>
        </includes>
    </filter>
</filters>

关于java - 如何使用 Maven Shade 插件捆绑来自不同模块的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61526011/

相关文章:

maven:如何以独立于操作系统的方式加载tools.jar/classes.jar?

java - 如何在一个java模块中生成2个jar : one is uber jar and another is non-uber jar?

jar - 包含非 Mavenized 依赖项,因此它可以与 maven-shade-plugin 一起使用

java - 具有两个集合的计算字段

java - Spring MVC中如何限制用户登录前访问特定页面?

java - 在 Spring MVC 、 Hibernate 、 Oracle 项目中实现规则引擎所需的设计指南

maven - 如何理解在 gradle 中使用 `configuration` 声明依赖关系?

java - 我无法使用 maven-shade-plugin 将 maven-plugin-api 打包到 uber jar 中

java - 如果字符串仅包含 ASCII 字符集则匹配

java - 字符串与其他对象的特殊性