有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何做mvn scm插件匿名pserver cvs访问

我想使用maven scm插件与匿名用户一起从CVS导出代码。出于易于使用的原因,我不使用CVS客户端(下载mvn和eclipse,您可以在任何平台上加入我的项目)

然而,我似乎无法让mvn scm插件使用匿名pserver访问签出代码。它抱怨CVS需要密码。我错过什么了吗?这是我正在执行的命令:

mvn scm:export 
    -DconnectionUrl=scm:cvs:pserver:anonymous@speedforge.cvs.sourceforge.net:/cvsroot/speedforge:speedforge 
    -DexportDirectory=export 
    -DscmVersion=v004 
    -DscmVersionType=tag

(您可以直接运行它,它是SourceForge上的一个开源项目)

我从scm插件中得到以下错误:

org.netbeans.lib.cvsclient.connection.AuthenticationException: Wrong Password.

我在mac上使用mvn 2.2.1:

mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.6.0_26
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x" version: "10.7.2" arch: "x86_64" Family: "mac"

尽管mvn scm文档似乎提到了匿名cvs访问,但它并没有提供如何做到这一点的示例:http://maven.apache.org/scm/cvs.html

有人能帮我使用mvn scm插件获得匿名pserver访问权限吗

谢谢


共 (2) 个答案

  1. # 1 楼答案

    请尝试在URL中提供空密码:

    mvn scm:export 
      -DconnectionUrl=scm:cvs:pserver:anonymous:@speedforge.cvs.sourceforge.net:/cvsroot/speedforge:speedforge 
      -DexportDirectory=export 
      -DscmVersion=v004 
      -DscmVersionType=tag
    

    (注意用户名和分隔凭据和主机名的@符号之间有额外的:。)

  2. # 2 楼答案

    同样的命令也适用于我使用maven 3的linux机器。下面的输出仅供参考。您可能还需要检查正在使用的插件的版本

    $ mvn scm:export -DconnectionUrl=scm:cvs:pserver:anonymous@speedforge.cvs.sourceforge.net:/cvsroot/speedforge:speedforge -DexportDirectory=speedforge -DexportDirectory=export -DscmVersion=v004 -DscmVersionType=tag
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO]                                     
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO]                                     
    [INFO] 
    [INFO]  - maven-scm-plugin:1.5:export (default-cli) @ standalone-pom  -
    [INFO] Executing: /bin/sh -c cd /home/user/work-folder/export && cvs -z3 -f -d :pserver:anonymous@speedforge.cvs.sourceforge.net:/cvsroot/speedforge -q export -rv004 speedforge
    [INFO] Working directory: /home/user/work-folder/export
    [ERROR] Didn't find password for CVSROOT ':pserver:anonymous@speedforge.cvs.sourceforge.net:/cvsroot/speedforge'.
    [INFO]                                     
    [INFO] BUILD SUCCESS
    [INFO]                                     
    [INFO] Total time: 8.275s
    [INFO] Finished at: Mon Oct 31 07:53:40 IST 2011
    [INFO] Final Memory: 4M/15M
    [INFO]                                     
    
    $ mvn -v
    Apache Maven 3.0.3 (r1075438; 2011-02-28 23:01:09+0530)
    Maven home: /usr/local/maven
    Java version: 1.6.0_25, vendor: Sun Microsystems Inc.
    Java home: /usr/local/jdk1.6.0_25/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "3.0.0-12-generic", arch: "i386", family: "unix"