Tomcat-maven-plugin 401错误

Ume*_*thi 4 maven-2 maven-plugin maven-3 maven

我正在学习tomcat基础知识,当我尝试在tomcat上部署我的web应用程序时,我收到以下错误

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project struts2-demoapp: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/html/deploy?path=%2FmkyWebApp&war= -> [Help 1]
[ERROR]
Run Code Online (Sandbox Code Playgroud)

根据这一点,似乎战争文件位置没有被传递给tomcat manager.i在我的中有以下条目 tomcat-user.xml

tomcat-users>
<user name="admin" password="admin" roles="admin,manager" /><!--
  NOTE:  The sample user and role entries below are wrapped in a comment
  and thus are ignored when reading this file. Do not forget to remove
  <!.. ..> that surrounds them.
-->

<role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,manager"/>


</tomcat-users>
Run Code Online (Sandbox Code Playgroud)

这是细节 pom.xml

<build>
        <plugins>
        <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                </configuration>
            </plugin>
            <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
                <warFile>${project.build.directory}/${project.build.finalName}.war</warFile>
                <url>http://localhost:8080/manager/html</url>
                <server>myserver</server>
                <path>/mkyWebApp</path>

        </configuration>
</plugin>

        </plugins>
    </build>
Run Code Online (Sandbox Code Playgroud)

在我的setting.xml中有条目

<server>
      <id>Tomcat6.x</id>

      <username>admin</username>
      <password>admin</password>
    </server>
Run Code Online (Sandbox Code Playgroud)

我不确定这里究竟出了什么问题.在这方面的任何帮助都会有所帮助.

小智 5

更改

<server>
  <id>Tomcat6.x</id>
  <username>admin</username>
  <password>admin</password>
</server>
Run Code Online (Sandbox Code Playgroud)

<server>
  <id>myserver</id>
  <username>admin</username>
  <password>admin</password>
</server>
Run Code Online (Sandbox Code Playgroud)

如果你使用的是tomcat 7

 <url>http://localhost:8080/manager/html</url>
Run Code Online (Sandbox Code Playgroud)

如果是tomcat 6

<url>http://localhost:8080/manager</url>
Run Code Online (Sandbox Code Playgroud)

启动tomcat运行tomcat7:deploy或tomcat6:deploy


Tar*_*log 4

您需要将 settings.xml 中的凭据映射到 pom.xml 中的服务器配置。

在您的情况下,这已完成,但需要设置<id>服务器的元素,以匹配 pom.xml 中的服务器主机名。

既然你指向localhost,那么 id 也必须是localhost。更改主机名时,还必须更新 settings.xml。