首页 > 解决方案 > 安装插件 generatePom 产生错误

问题描述

我们在应用程序中预先打包了一个依赖项,并使用 Maven 安装插件注入到类路径中。

<dependencies>
  <dependency>
    <groupId>artifactXXX</groupId>
    <artifactId>artifactXXX</artifactId>
    <version>1.0</version>
  </dependency>
</dependencies>

在安装中:

<executions>
  <execution>
    <id>install-artifactXXX</id>
    <phase>install</phase>
    <goals>
      <goal>install-file</goal>
    </goals>
    <configuration>
      <groupId>artifactXXX</groupId>
      <artifactId>artifactXXX</artifactId>
      <version>1.0</version>
      <packaging>jar</packaging>
      <file>${basedir}/jars/artifactXXX.jar</file>
      <generatePom>true</generatePom>
    </configuration>
  </execution>
</executions>

但是,在clean installMaven 期间仍然尝试从 Artifactory 下载依赖 JAR 的 POM 并产生 POM not found 错误。
这里要做什么?

标签: mavenmaven-3maven-plugin

解决方案


依赖关系解析发生在处理之前<build>。因此,在 Maven 处理该<dependencies>部分时,尚未安装工件。

在 POM 构建之前,您必须至少在命令行上手动执行install:install-file一次(并且您必须注意,如果使用-SNAPSHOT版本,则在当前构建中使用先前构建安装的依赖项)。

此外,这样的配置不符合 Maven POM 的声明性质。这就像试图从要种植的植物的种子中种植植物一样。


推荐阅读