Maven部署一直要求输入用户名密码

问题描述 投票:0回答:1

对于 我们的maven项目,每次我们调用部署命令时。

mvn deploy -Dmaven.test.skip=true

它都会要求输入用户名密码。

Kerberos username [ccgadmin]: 
Kerberos password for ccgadmin: 

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

我试着更新了 settings.xml 来设置usernamepass。

<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>

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

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

java maven kerberos maven-wagon-plugin wagon
1个回答
1
投票

JSch默认将Kerberos作为首选认证方式,你应该将它设置为 "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> 
© www.soinside.com 2019 - 2024. All rights reserved.