Maven构建不下载所有需要的文件

时间:2017-10-25 12:53:01

标签: maven build

我有一个maven构建应该从nexus中的同一目录下载一些jar文件。 有

myproduct_model-1.32-SNAPSHOT.jar
and
myproduct_model-1.32-SNAPSHOT-liquibase.jar

构建成功下载第一个但不是第二个。 我该怎么强迫呢?

2 个答案:

答案 0 :(得分:1)

您可以在依赖项上使用<classifier>元素,例如:

  <dependency>
      <groupId>com.deltabasics</groupId>
      <artifactId>myproduct_model</artifactId>
      <version>${version-myproduct_model}</version>
  </dependency>
  <dependency>
      <groupId>com.deltabasics</groupId>
      <artifactId>myproduct_model</artifactId>
      <version>${version-myproduct_model}</version>
      <classifier>liquibase</classifier>
  </dependency>

这将使Maven下载两个依赖项,即使它们使用相同的版本,因为分类器是不同的。如果您希望在项目target目录中下载这些依赖项,请使用相同方法的maven-dependency-plugin:

<build>
  <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
            <execution>
                <id>copy</id>
                <phase>package</phase>
                <goals>
                    <goal>copy</goal>
                </goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>com.deltabasics</groupId>
                            <artifactId>myproduct_model</artifactId>
                            <version>${version-myproduct_model}</version>
                            <type>jar</type>
                        </artifactItem>
                        <artifactItem>
                            <groupId>com.deltabasics</groupId>
                            <artifactId>myproduct_model</artifactId>
                            <version>${version-myproduct_model}</version>
                            <type>jar</type>
                            <classifier>liquibase</classifier>
                        </artifactItem>
                    </artifactItems>
                </configuration>
            </execution>
        </executions>
     </plugin>
  </plugins>
</build>

答案 1 :(得分:0)

我尝试添加以下行

     <dependency>
          <groupId>com.deltabasics</groupId>
          <artifactId>myproduct_model</artifactId>
          <version>${version-myproduct_model}-liquibase</version>
      </dependency>

不幸的是,maven创建了另一个文件夹,而不是下载。