プロジェクト A からプロジェクト B を継承します。プロジェクト A では、Maven からダウンロードした jar ファイルを lib フォルダーにコピーする必要があります。プロジェクト A の pom ファイル:
<groupId>com.penguin.com.projecta</groupId>
<artifactId>penguin-common--pom</artifactId>
<packaging>pom</packaging>
<version>${com.penguin.common.projecta}</version>
<name>Penguin COMMON POM</name>
<modules>
<module>projectb</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-jars</id>
<phase>process-sources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<overWriteIfNewer>true</overWriteIfNewer>
<artifactItems>
<artifactItem>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.1</version>
<type>jar</type>
<destFileName>ant-contrib.jar</destFileName>
<outputDirectory>lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
私がビルドすると、mavenはjarファイルをlibフォルダーにコピーしましたが、プロジェクトBにlibフォルダーも作成し、プロジェクトAのpomファイルで定義されたjarファイルをそこにコピーします。プロジェクト B で除外したいのですが、以下のスクリプトを試してみましたが、うまくいきません。
<dependencies>
<dependency>
<groupId>com.penguin.com.projecta</groupId>
<artifactId>penguin-common--pom</artifactId>
<version>${com.penguin.common.projecta}</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
このリンクを参照してください:親 POM から継承されたアーティファクトを除外する方法はありますか? . しかし、それも私を助けません。