我的Maven项目依赖于另外两个jars。
我不能在任何Maven回购上加载这两个jars,所以当我在我的项目上运行安装阶段时,我想从GitHub下载源代码并在本地安装它们。
目前,我正在使用maven-scm插件的引导目标来验证默认生命周期的阶段,但问题是我必须先运行mvn验证,然后再运行mvn安装,因为如果我直接运行mvn安装,Maven会意识到工件不存在,并且会立即出错:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>2.0.0-M3</version>
<configuration>
<mavenHome>${maven.home}</mavenHome>
<goals>install</goals>
</configuration>
<executions>
<execution>
<id>clone_and_install_1st_dependency</id>
<phase>validate</phase>
<configuration>
<connectionUrl>scm:git:https://github.com/my_git/1st_dependency.git</connectionUrl>
<scmVersionType>tag</scmVersionType>
<scmVersion>${1st_dependency.version}</scmVersion>
</configuration>
<goals>
<goal>bootstrap</goal>
</goals>
</execution>
<execution>
<id>clone_and_install_2nd_dependency</id>
<phase>validate</phase>
<configuration>
<connectionUrl>scm:git:https://github.com/my_git/2nd_dependency.git</connectionUrl>
<scmVersionType>tag</scmVersionType>
<scmVersion>${2nd_dependency.version}</scmVersion>
</configuration>
<goals>
<goal>bootstrap</goal>
</goals>
</execution>
</executions>
</plugin>是否只有在安装mvn时才能做到这一点?
非常感谢!
发布于 2022-12-03 17:46:59
不,Maven不支持这个。
依赖项必须出现在Maven运行的一开始,因此不能动态创建它们。
如果您想要这样的东西,请使用CI,如Jenkins、GitHub动作等。
https://stackoverflow.com/questions/74667467
复制相似问题