无法使用SVN作为Maven repo进行部署

无法使用SVN作为Maven repo进行部署,svn,maven-2,version-control,maven-scm,Svn,Maven 2,Version Control,Maven Scm,我试图使用Subversion作为Maven repo。若我使用http作为协议声明快照位置,那个么在尝试部署(mvn clean deploy)时会从服务器返回409错误 如果您查看Vang scm的POM,您会发现它依赖于maven scm provider-*工件的1.0版本。在扩展部分中,您已经引用了1.3-SNAPSHOT版本 从1.2版开始,AbstractCheckOutCommand的executeCheckOutCommand()方法不再是抽象的,而是通过一个附加的递归参数委托

我试图使用Subversion作为Maven repo。若我使用http作为协议声明快照位置,那个么在尝试部署(mvn clean deploy)时会从服务器返回409错误


如果您查看Vang scm的POM,您会发现它依赖于maven scm provider-*工件的1.0版本。在扩展部分中,您已经引用了1.3-SNAPSHOT版本

从1.2版开始,AbstractCheckOutCommand的executeCheckOutCommand()方法不再是抽象的,而是通过一个附加的
递归
参数委托给另一个抽象方法。由于此更改,您将获得链接错误

解决这一问题的最简单方法是将maven scm provider-*扩展的版本更改为与Cargo scm要求的版本一致,即将1.3-SNAPSHOT版本更改为1.0或1.1版本


值得指出的是,我认为使用SCM系统托管Maven存储库并不是一个好主意,尤其是对于快照工件。相反,我建议使用,它们在托管工件的基础上提供了许多有用的功能。

您是否尝试过擦除~/.m2/repository/org/apache/maven/plugins?是的-事实上,我擦除了整个本地repo(.m2)几次,非常感谢您指出这一点,我明天会检查它,如果有效-将这标记为一个可接受的答案。我确实把艺术作品看作是一种选择,但这意味着另一个应用服务器要维护,所以我将看到SCM解决方案将如何工作,以帮助,但我真的会考虑使用存储管理器,你甚至可以运行Nexus或艺术工厂独立(他们都使用捆绑码头)。因此,没有应用程序服务器manage@Rich卖家:您忽略了存储库管理器的主要障碍是“尖头老板”和“信息服务的防护器”而不是安装应用服务器;-)。
<snapshotRepository>
        <uniqueVersion>false</uniqueVersion>
        <id>engtools_snapshots</id>
        <name>EngTools Maven Repository</name>
        <url>http://continuum.td.com/svn_repos/maven/snapshots</url>
</snapshotRepository>
<snapshotRepository>
        <uniqueVersion>false</uniqueVersion>
        <id>engtools_snapshots</id>
        <name>EngTools Maven Repository</name>
        <url>scm:svn:http://continuum.td.com/svn_repos/maven/snapshots</url>
</snapshotRepository>
        <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-scm</artifactId>
            <version>1.0-beta-6</version>
        </extension>
        <extension>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-manager-plexus</artifactId>
            <version>1.3-SNAPSHOT</version>
        </extension>
        <extension>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-provider-svnexe</artifactId>
            <version>1.3-SNAPSHOT</version>
        </extension>
    </extensions>
[INFO] [deploy:deploy {execution: default-deploy}]
[INFO] Retrieving previous build number from engtools_snapshots
[FATAL ERROR] org.apache.maven.plugin.deploy.DeployMojo#execute() caused a 
linkage error (java.lang.AbstractMethodError) and may be out-of-date. Check 
the realms:
[FATAL ERROR] Plugin realm = 
app0.child-container[org.apache.maven.plugins:maven-deploy-plugin:2.4]
urls[0] = file:/C:/Documents and Settings/boo/.m2/repository/org/apache/
maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.jar
urls[1] = file:/C:/Documents and Settings/boo/.m2/repository/org/codehaus/
plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[FATAL ERROR] Container realm = plexus.core
urls[0] = file:/C:/java/apache-maven-2.2.0/bin/../lib/maven-2.2.0-uber.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.
executeCheckOutCommand(Lorg/apache/maven/scm/provider/ScmProviderRepository;
Lorg/apache/maven/scm/ScmFileSet;Lorg/apache/maven/scm/ScmVersion;)
Lorg/apache/maven/scm/command/checkout/CheckOutScmResult;
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.AbstractMethodError: org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.
executeCheckOutCommand(Lorg/apache/maven/scm/provider/ScmProviderRepository;
Lorg/apache/maven/scm/ScmFileSet;Lorg/apache/maven/scm/ScmVersion;)Lorg/apache/maven/scm/command/checkout/CheckOutScmResult;
 at org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.executeCommand(
AbstractCheckOutCommand.java:49)
 at org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:58)