Maven部署不断询问用户名/密码

时间:2019-06-10 15:22:22

标签: java maven kerberos maven-wagon-plugin wagon

对于our maven project,每次我们调用deploy命令:

mvn deploy -Dmaven.test.skip=true

它要求输入用户名密码:

Kerberos username [ccgadmin]: 
Kerberos password for ccgadmin: 

我可以输入用户名/密码,但是问题在于,由于我们的项目有多个模块(大约15个),因此每个模块都要求用户名/密码(这确实很耗时。)

我尝试更新settings.xml来设置用户名/密码:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>/pool0/webserver/resources/m2repo</localRepository>
        <servers>
            <server>
                <id>ssh-repository</id>
                <username>USERNAME</username>
                <password>PASS</password>
            </server>
        </servers>
</settings>

但是不幸的是,这并没有解决。

想知道是否有人遇到过类似的问题。

1 个答案:

答案 0 :(得分:1)

JSch默认情况下具有Kerberos作为PreferredAuthentication,您应该将其设置为“ password”。

您可以通过添加设置文件的服务器配置来做到这一点:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>/pool0/webserver/resources/m2repo</localRepository>
        <servers>
            <server>
                <id>ssh-repository</id>
                <username>USERNAME</username>
                <password>PASS</password>
                <configuration>
                     <PreferredAuthentications>password</PreferredAuthentications>
                </configuration>
            </server>
        </servers>
</settings>