使用maven将war部署到远程Tomcat 8时出现401(Unauthorized)错误

时间:2014-10-01 20:51:47

标签: java maven tomcat

我正在尝试在远程Tomcat 8上部署战争,但在此过程中收到401(未授权)错误。

错误日志

[ERROR] Tomcat return http status error: 401, Reason Phrase: Unauthorized

为部署执行的命令

mvn tomcat7:redeploy

的pom.xml

<properties>
    <integration.tomcat.url>http://gsi-547576:8080/manager/text</integration.tomcat.url>
</properties>

<!-- Deploy to Remote Tomcat -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>${integration.tomcat.url}</url>
                <server>integration-tomcat</server>
                <path>/${project.artifactId}</path>
            </configuration>
        </plugin>

Tomcat的users.xml中

<role rolename="tomcat" />
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="admin-gui" />
<user username="manager" password="manager" roles="tomcat,manager-gui,admin-gui,manager-script" />

请指导。

2 个答案:

答案 0 :(得分:3)

您需要为&#34; integration-tomcat&#34;定义凭据。服务器;这通常在〜/ .m2 / settings.xml文件中完成:

<servers>
  <server>
    <id>integration-tomcat</id>
    <username>manager</username>
    <password>manager</password>
  </server>
</servers>

答案 1 :(得分:0)

如果将来对某人有帮助,我发现如果tomcat-users.xml中的密码以数字而不是字母开头,则Tomcat将返回401。仅当尝试通过curl或使用cargo Maven插件通过GitLab进行部署时,才是这种情况。 (在Eclipse中运行Maven部署效果很好)。

更改密码以字母开头可以解决卷曲问题以及从GitLab部署时的问题