2012-04-01 87 views
3

buildnumber - Maven的插件不能檢查SVN代碼庫的最新版本號需要進行身份驗證。 POM配置buildnumber - Maven的插件得到的svn:「Subversion版本庫」錯誤

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>buildnumber-maven-plugin</artifactId> 
    <version>1.0</version> 
    <executions> 
     <execution> 
      <phase>validate</phase> 
      <goals> 
       <goal>create</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <doCheck>false</doCheck> 
     <doUpdate>true</doUpdate> 
     <providerImplementations> 
      <svn>javasvn</svn> 
     </providerImplementations> 
    </configuration> 
</plugin> 

當我在Ubuntu 11.10運行mvn compile我得到錯誤信息如下

[INFO] --- buildnumber-maven-plugin:1.0:create (default) @ some-module --- 
[INFO] Change the default 'svn' provider implementation to 'javasvn'. 
[INFO] Checking for local modifications: skipped. 
[INFO] SVN update directory: /path/to/my/project/some-module 
[ERROR] Provider message: 
[ERROR] SVN update failed. 
[ERROR] Command output: 
[ERROR] svn: Authentication required for '<http://my.svn.host.com:80> Subversion Repository' 

在同一時間,在svn up工作正常。

但我運行微軟Windows 7相同的命令,這個插件可以得到修訂號和錯誤消息顯示不出來,我使用TortoiseSVN還可以更新模塊。

所以必須有行家-SCM提供商 - svnjava插件默認配置來獲得對顛覆存儲庫中的用戶名和密碼?它在哪裏?如何配置這個?

我已經嘗試過mvn compile -Dusername=xxx -Dpassword=yyy,它的工作原理但我的數據庫CONFIGS的用戶名和密碼參數衝突。順便說一句,.m2目錄下的settings.xml文件只有Maven Repository配置。

我的Java用戶1.6.0-31,行家3.0.4時,TortoiseSVN 1.6.16,在Ubuntu 11.10 SVN 1.6.12。

更新 事實證明,答案與此問題有關:SVN won't cache credentials,問題已解決。

回答

2

settings.xml中,服務器部分

<server> 
    <id>...</id> 
    <username>..</username> 
    <password>..</password> 
</server> 

ID必須關聯到供應鏈管理部相關

+1

你能解釋一下爲什麼同樣的settings.xml適用於Windows 7,但Ubuntu的不?無論如何,我試圖my.svn.host.com:80和my.svn.host.com作爲id值,只是證實他們不適合我。 – George 2012-04-01 12:04:39

+0

@George - 在Windows中*您可能擁有*憑證緩存。票證作者證實它可以在命中配置下工作(我不知道你的位置在哪裏不同)。端口對於默認值是無用的 – 2012-04-01 12:24:23

+1

我嘗試使用/不使用端口號,這兩個都不適用於我。我想知道緩存的svn用戶憑證保存在哪裏以及緩存的用戶憑證和maven插件之間的關係是什麼?插件如何使用其他應用程序保存的緩存的用戶憑證? – George 2012-04-01 12:31:40