我有一个项目,其中一些依赖项具有我想要收集的辅助工件&在分发时解压缩。通过使用类型和分类器参数,我能够找到这些辅助工件,这很棒。
唯一的问题是传递依赖树很大,并且大多数传递依赖都没有这个辅助工件,因此构建将永远寻找它永远找不到的东西。
我想将搜索限制为仅可能具有这些辅助工件的某些groupID。似乎 includeGroupIds 参数无法接受通配符。
有没有办法在这里使用通配符过滤,还是我必须完成明确列出每个组的维护工作?
以下是我现在拥有的一个例子;注意长和&难以维护包含的组列表:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-litescale</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<classifier>litescale</classifier>
<type>zip</type>
<includeGroupIds>com.foo.group1,com.foo.group2,com.foo.group3,com.foo.group4,com.foo.group5,com.foo.group6</includeGroupIds>
</configuration>
</execution>
</executions>
</plugin>
以下是我想要的一个例子:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-litescale</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<classifier>litescale</classifier>
<type>zip</type>
<includeGroupIds>com.foo.*</includeGroupIds>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:0)
对于Maven而言,这并不是你所建议的那种方式。 Maven的声明意义,你需要知道你想要的东西。你可以通过编写特定的插件来实现这一点。另请查看Maven Assembly Plugin。
答案 1 :(得分:0)
似乎includeGroupIds
包含所有以提供的值作为前缀的groupId。即在您的示例中,<includeGroupIds>com.foo</includeGroupIds>
应该做到:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>unpack-litescale</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<classifier>litescale</classifier>
<type>zip</type>
<includeGroupIds>com.foo</includeGroupIds>
</configuration>
</execution>
</executions>
</plugin>