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