我想知道是否有可能从github克隆存储库并使用Java自动构建该项目。

我正在编写测试脚本来测试在git上创建一个项目后是否可编译,这需要我执行git clone并运行mvn clean install。

我试过下面的代码来打开终端并克隆仓库,但是没有用。

String command= "git clone git@gitlab******/project.git";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);


我想知道是否可以在git clone之后将CD光盘安装到pom文件所在的目录并开始执行mvn clean安装。

谢谢! :)

最佳答案

如果您使用Windows,则可以使用Git Bash测试此脚本:


添加到pom.xml(父test_git_maven)

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
       <version>1.4.0</version>
       <executions>
           <execution>
               <phase>initialize</phase>
                <id>clone_and_test_compile</id>
                   <goals>
                     <goal>exec</goal>
                    </goals>
            </execution>
        </executions>
        <configuration>
            <executable>git</executable>
          <arguments>
            <argument>clone</argument>
              <argument>git@gitlab******/${module_for_test}.git</argument>
                <argument>../${module_for_test}</argument>
          </arguments>
        </configuration>
 </plugin>

树:项目被自动添加为模块,因为(../${module_for_test})

 > test_git_maven/
                pom.xml <= add <plugin>
                module_for_test1 <= from clone module_for_test1
                module_for_test2 <= from clone module_for_test2
                module_for_test3 <= from clone module_for_test3

开始:

mvn clean compile -Dmodule_for_test=module_for_test1 -f module_for_test1/pom.xml

10-06 09:43