谁能告诉我如何使用 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”。这对我来说非常令人惊讶,因为我认为这是松鼠的某种联系,或者可能是兔子。