我有一个在git中的java应用程序,并为maven发布插件设置了这个repo配置。我想从另一个RepoB中获取一个文件(也可以签出整个RepoB,因为那里只有一个文件),并将它作为构建步骤的一部分。如果已经为RepoA设置了scm部分,那么如何使用maven-scm插件来实现呢?
谢谢。
发布于 2021-04-09 09:12:15
您可以对此任务使用单独的maven配置文件。
下面是来自pom.xml的配置文件部分,假设您想从github github-user/some-repo中获取文件foo/bar.txt
<profile>
<id>checkout-foo-bar</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.11.2</version>
<configuration>
<connectionUrl>scm:git:git@github.com:github-user/some-repo</connectionUrl>
<includes>foo/bar.txt</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>然后运行mvn scm:checkout -P checkout-foo-bar
插件首先从repo获取所有文件,然后删除不需要的文件。这需要额外的时间,特别是如果回购是巨大的。
除了默认的target/checkout之外,我没有找到设置输出目录的方法。但是,希望这个工作示例能够成为解决问题的良好起点。
https://stackoverflow.com/questions/51294780
复制相似问题