2016-03-23 64 views
4

我在通過HTTPS通過HTTPS通過Maven JGitFlow插件進行身份驗證時遇到問題,在Windows上通過git-bash運行。HTTPS的Maven JGitFlow插件身份驗證

錯誤消息是:「驗證是必需的,但沒有CredentialsProvider已註冊」。我所看到的建議似乎假設我可以作爲開發人員訪問JGit代碼。

我已經沒有執行git命令直接(我正在使用git-credential-winstore)麻煩。另外,當我在pom.xml文件中顯式地在POM中提供了我的用戶名和密碼時,它也起作用。

但是,我不希望我的密碼上傳到我的BitBucket存儲庫,並且正在尋找一種方式讓JGitFlow插件以與GIT本身相同的方式進行身份驗證。

我在做什麼錯,我該如何解決?

回答

6

以下JGitFlow Maven插件配置工作

<plugin> 
    <groupId>external.atlassian.jgitflow</groupId> 
    <artifactId>jgitflow-maven-plugin</artifactId> 
    <version>1.0-m5.1</version> 
    <configuration> 
     <username>${git.user}</username> 
     <password>${git.password}</password> 
    </configuration> 
</plugin> 

從與如Java系統屬性中的用戶名和密碼的命令行,即與-Dgit.user=<user>-Dgit.password=<password>,例如調用它

MVN [email protected] -Dgit.password =祕密jgitflow:釋放啓動

注:該插件確實應該有一個Maven CredentialsProvider是能夠更新從settings.xml獲取憑據和/或在命令行上使用與git相同的機制的Git憑證解析器。

+0

這是我沒有想到的一個聰明的解決方案。但是,這是否會讓每個想要在我的項目上工作的人都必須這樣做(即使他們使用其他形式的憑證)? – Yiftach

+0

是的,每次他們使用發佈插件時,他們都需要提供憑證。它可能只是當您連接到遠程存儲庫時才需要它們,我還沒有測試。我們的用例是拙劣的,因爲我們還需要將憑據傳遞給代理... –

+0

雖然這改善了情況(我的憑據不會與我合作的人共享),但這仍然會迫使我做事的方式(所以例如,它似乎不太適合公共存儲庫)。 – Yiftach