安装插件generatePom产生错误
Install plugin generatePom produces error
我们在应用中预先打包了一个依赖,使用Maven install plugin注入到classpath中。
<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 install
期间,Maven 仍会尝试从 Artifactory 下载依赖 JAR 的 POM 并产生 POM 未找到错误。
这里要做什么?
依赖关系解析发生在 <build>
处理之前。因此,在 Maven 处理 <dependencies>
部分时,工件尚未安装。
您必须在 POM 构建之前至少在命令行上手动执行一次 install:install-file
(并且您必须意识到这一点,如果使用 -SNAPSHOT
版本,则安装的依赖项当前版本中使用了以前的版本)。
此外,这样的配置不符合 Maven POM 的声明性质。这就像尝试从要种植的植物的种子中种植植物。
我们在应用中预先打包了一个依赖,使用Maven install plugin注入到classpath中。
<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 install
期间,Maven 仍会尝试从 Artifactory 下载依赖 JAR 的 POM 并产生 POM 未找到错误。
这里要做什么?
依赖关系解析发生在 <build>
处理之前。因此,在 Maven 处理 <dependencies>
部分时,工件尚未安装。
您必须在 POM 构建之前至少在命令行上手动执行一次 install:install-file
(并且您必须意识到这一点,如果使用 -SNAPSHOT
版本,则安装的依赖项当前版本中使用了以前的版本)。
此外,这样的配置不符合 Maven POM 的声明性质。这就像尝试从要种植的植物的种子中种植植物。