有没有办法用 Maven 检出 git 存储库到某个文件夹?
Is there a way to checkout git repository, to certain folder with maven?
我正在尝试将仅包含协议缓冲区(具有结构)的存储库自动下载到 "resource" 文件夹以供以后处理。
我需要这种功能,让我的 *.proto
文件与 c++ 和 java 代码分开,因为它们在技术上没有相互连接(java 应用程序被使用用于调试)。
我想要的效果是至少将 repo 检出到项目中 —
我梦想的效果是每次我 运行 maven.
更新这个 repo
BR
编辑
在处理了很多此类问题之后,我个人发现 git 子模块可能是适合您的解决方案(如果您没有使用 svn)。
好的,所以在谷歌搜索之后,我遇到了这个:maven-scm-plugin,即使从描述中也解决了我的要求。
为了节省大多数人的时间,我将粘贴用法示例以使其起作用。
您需要将此添加到您的 pom 结构中:
<project>
<scm>
<connection>scm:git:[YOUR_PROJECT_URL]</connection>
</scm>
<--! second part -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<version>1.0</version>
<configuration>
<connectionType>connection</connectionType>
<!-- YOUR PATH HERE -->
<checkoutDirectory>src/main/resources/meta</checkoutDirectory>
</configuration>
<executions>
<execution>
<id>tag</id>
<phase>deploy</phase>
<goals>
<goal>tag</goal>
</goals>
</execution>
</executions>
</plugin>
</project>
我正在尝试将仅包含协议缓冲区(具有结构)的存储库自动下载到 "resource" 文件夹以供以后处理。
我需要这种功能,让我的 *.proto
文件与 c++ 和 java 代码分开,因为它们在技术上没有相互连接(java 应用程序被使用用于调试)。
我想要的效果是至少将 repo 检出到项目中 — 我梦想的效果是每次我 运行 maven.
更新这个 repoBR
编辑
在处理了很多此类问题之后,我个人发现 git 子模块可能是适合您的解决方案(如果您没有使用 svn)。
好的,所以在谷歌搜索之后,我遇到了这个:maven-scm-plugin,即使从描述中也解决了我的要求。
为了节省大多数人的时间,我将粘贴用法示例以使其起作用。
您需要将此添加到您的 pom 结构中:
<project>
<scm>
<connection>scm:git:[YOUR_PROJECT_URL]</connection>
</scm>
<--! second part -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<version>1.0</version>
<configuration>
<connectionType>connection</connectionType>
<!-- YOUR PATH HERE -->
<checkoutDirectory>src/main/resources/meta</checkoutDirectory>
</configuration>
<executions>
<execution>
<id>tag</id>
<phase>deploy</phase>
<goals>
<goal>tag</goal>
</goals>
</execution>
</executions>
</plugin>
</project>