有人可以告诉我如何使用Maven从SVN进行结账和进一步更新吗?我阅读了maven.apache.org上的文档,但似乎我对此太愚蠢了,因为我无法理解如何使用scm:checkout和scm:update而不在命令行中传递它们的参数。我的意思是当我跑步时:
mvn scm:checkout (or scm:update) clean install
maven将源代码检出/ target / checkout,然后将其删除,当然它没有任何可编译的内容,因此它会生成空jar。所以我必须写这样的东西:
mvn scm:checkout -DconnectionUrl=scm:svn:http://svn.my.dev/scm/repo/trunk/myProject -DcheckoutDirectory=src clean install
但我不想!如何在pom.xml中设置这些参数?我如何将当前目录设置为checkoutDirectory? (如果在pom.xml中设置它可能不应该是一个问题,因为我可以将它设置为$ {project.basedir},但谁知道) 我的pom.xml包含以下几行:
...
<scm>
<connection>scm:svn:http://svn.my.dev/scm/repo/trunk/myProject</connection>
<developerConnection>scm:svn:http://svn.my.dev/scm/repo/trunk/myProject</developerConnection>
</scm>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.7</version>
<configuration>
<username>username</username>
<password>password</password>
</configuration>
</plugin>
...
顺便说一句,connection和developerConnection有什么区别。 Maven文档只说developerConnection是......“开发人员的SCM连接URL”。这对我来说非常令人惊讶,因为我认为这是松鼠的一些联系,或者可能是兔子。
答案 0 :(得分:4)
您可以将checkoutDirectory
选项直接添加到maven-scm-plugin的配置中。签出文件后,您可以scm:update
使用workingDirectory
选项(也可以在插件配置中配置)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.7</version>
<configuration>
<username>username</username>
<password>password</password>
<checkoutDirectory>${project.basedir}/src</checkoutDirectory>
<workingDirectory>${project.basedir}/src</workingDirectory>
</configuration>
</plugin>