maven 即时下载并安装(本地)依赖项

amrnrhlw  于 2022-12-11  发布在  Maven
关注(0)|答案(1)|浏览(152)

我的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安装来完成这一切?
多谢了!

ymdaylpp

ymdaylpp1#

不,Maven不支持此功能。
依赖关系必须在Maven运行的最开始就存在,不能动态创建。
如果你想要这样的东西,使用像Jenkins,GitHub操作等CI。

相关问题