0

对于我们的 maven 项目,每次调用 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>

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

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

4

1 回答 1

2

JSch 默认将 Kerberos 设置为 PreferredAuthentication,您应该将其设置为“密码”。

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

<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> 
于 2020-05-19T13:10:09.560 回答