我的Maven项目依赖于另外两个jar。
我不能在任何Maven repo上加载这两个jar,所以我想从GitHub下载源代码,并在我的项目上运行安装阶段时在本地安装它们。
目前,我正在使用maven-scm插件的 Bootstrap 目标,该目标与默认生命周期的验证阶段挂钩,但问题是,我必须首先运行mvn validate,然后再运行mvn install,因为如果我直接运行mvn install,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安装来完成这一切?
多谢了!
1条答案
按热度按时间ymdaylpp1#
不,Maven不支持此功能。
依赖关系必须在Maven运行的最开始就存在,不能动态创建。
如果你想要这样的东西,使用像Jenkins,GitHub操作等CI。