使用 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>
一切都很好!
我在一个工作区中有一堆项目,每个项目都有自己的 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>
一切都很好!