Maven依赖性插件:复制依赖项:排除单伪影



我需要从maven-depencency-plugin中排除单个伪像:复制依赖性。

在文档上:https://maven.apache.org/plugins/maven-depparendency-plugin/copy-depparencies-mojo.html我找到了2个有趣的选项:

exterudeArtifactids 将排除给定的所有文物匹配给定的trifact-id(group-id上的通配符)

排除groupids 将排除所有匹配给定的group-id的工件(hartifact-id上的通配符)

如果给定的人工制品的group-iD或伪影是独特的,这将有效。是否可以在不使用通配符的情况下排除单个伪像?

您可以使用两个execution部分来实现这一目标。

假设您有以下依赖关系:

javax.mail:mailapi
javax.mail:mail
sun-javamail:mail
org.jdom:jdom2

,您只想排除与其他工件共享groupid和artifactid的 javax.mail:mail

以下会做到这一点:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <!--include all in group apart from one-->
                    <configuration>
                        <excludeArtifactIds>mail</excludeArtifactIds>
                        <includeGroupIds>javax.mail</includeGroupIds>
                    </configuration>
                </execution>
                <execution>
                    <id>copy-dependencies2</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <!--include all other dependencies-->
                    <configuration>
                        <excludeGroupIds>javax.mail</excludeGroupIds>
                    </configuration>
                </execution>                    
            </executions>                
        </plugin>

最新更新