有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Maven获取特定类

有没有一种方法可以让maven只包含特定的内容。将依赖项导入uber jar(阴影)时对文件进行分类。我正在寻找一种方法,将名称中包含“Client”的文件从依赖项jar中取出并添加到最终jar中。任何帮助都会很好


共 (2) 个答案

  1. # 1 楼答案

    您应该能够像这样使用maven-dependency-plugin

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.10</version>
                <executions>
                    <execution>
                        <id>unpack</id>
                        <phase>package</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId><! dependency groupId ></groupId>
                                    <artifactId><! dependency artifactId ></artifactId>
                                    <version><! depedency version ></version>
                                    <includes>**/*Client*.java</includes>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    
  2. # 2 楼答案

    如果您使用的是Maven Shade Plugin,那么可以使用filter,这将允许您过滤哪些工件被着色,以及要排除或包括哪些类

    以下是他们提供的示例:

    <filters>
      <filter>
        <artifact>junit:junit</artifact>
        <includes>
          <include>org/junit/**</include>
        </includes>
        <excludes>
          <exclude>org/junit/experimental/**</exclude>
        </excludes>
      </filter>
    </filters>