使用 Maven 分类器作为依赖

Using the Maven classifier as a dependence

我在一个工作区中有一堆项目,每个项目都有自己的 pom.xml,它会生成自己的 zip,并带有一个名为 foo 的分类器 使用 maven-assembly-plugin 如下:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <goals><goal>single</goal></goals>
            <phase>package</phase>
            <configuration>
                <classifier>foo</classifier>
                <descriptors>
                    <descriptor>foo.xml</descriptor>
                </descriptors>
            </configuration>
        </execution>
    </executions>
</plugin>

我还有一个项目,我打算使用 maven-dependency-plugin 使用 foo 分类器复制上述项目中生成的所有 jar 如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.9</version>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>my.group.id</groupId>
                                <artifactId>project1</artifactId>
                                <version>${project.version}</version>
                                <classifier>foo</classifier>
                                <type>zip</type>
                                <overWrite>true</overWrite>
                            </artifactItem>
                            <!-- similar artifactItem tags for project, 2, 3, etc -->
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>my.group.id</groupId>
        <artifactId>project1</artifactId>
        <version>${project.version}</version>
        <classifier>source</classifier>
    </dependency>
</dependencies>

但是我收到这些 pom 文件的错误消息:Failure to find Project1:jar:foo:{version}-SNAPSHOT in {http://repositoryURL} was cached in the local repository,在 proxy-central 的更新间隔结束或强制更新之前,不会重新尝试解析。

我不明白为什么 maven 试图从存储库下载它,而我只是想从本地构建中复制。其他项目确实生成了适当的档案。我错过了什么或做错了什么?

我在其他项目中生成 zip 类型的存档,而汇编项目 pom 试图找到 jar,因为我没有在 dependencies 中指定了类型。一旦我添加 <type>zip</type> 一切都很好!