【发布时间】:2012-03-05 18:25:22
【问题描述】:
我有一个依赖于多个模块的 Web 应用程序。所以要构建它,我有一个主 pom.xml 文件。我想要这个 pom 文件做的是检出所有模块。 下面是我的pom文件。
<executions>
<execution>
<id>check-out-project1</id>
<phase>generate-sources</phase>
<goals>
<goal>checkout</goal>
</goals>
<configuration>
<checkoutDirectory>${project.build.directory}/module1</checkoutDirectory>
<connectionUrl>scm:svn:svn://svnserver/svn/module1/trunk</connectionUrl>
<!--<developerConnection>scm:svn:svn://svnserver/svn/module1/trunk</developerConnection>!-->
<username>username</username>
<password>password</password>
</configuration>
</execution>
<execution>
<id>check-out-project2</id>
<phase>generate-sources</phase>
<goals>
<goal>checkout</goal>
</goals>
<configuration>
<checkoutDirectory>${project.build.directory}/module1</checkoutDirectory>
<connectionUrl>scm:svn:svn://svnserver/svn/module1/trunk</connectionUrl>
<username>username</username>
<password>password</password>
</configuration>
</execution>
</executions>
我试过 mvn scm:checkout 和 mvn scm:checkout -check-out-project1 但它给了我错误: 无法运行结帐命令:无法加载 scm 提供程序。你需要定义一个connectionUrl参数。
我不明白为什么会发生这种情况,因为我已经在 pom 文件中定义了 connectionUrl 参数,我想要得到的想法是让 pom 文件配置为能够同时签出多个项目时间。请让我知道我在这里做错了什么,在此先感谢。
【问题讨论】:
-
你有一个 Maven 存储库来发布你的工件吗?我认为您应该尝试在主程序集中使用依赖模块之前预先构建(并测试)它们。即使您只是使用本地 ~/.m2 存储库。这应该使您能够使用 maven-dependency-plugin 并下载直接编译和测试的工件(假设您有测试)。
标签: maven build-automation multi-module build-management