如何修复"Cannot invoke Tomcat manager: Server returned HTTP response code: 403 "



我正在使用maven,Eclipse和Tomcat7。 我正在尝试使用 clean tomcat:deploy 命令在 Tomcat 中部署我的 Web 应用程序,但每次我收到此错误时:

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

这是我的pom的插件部分.xml :

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <configuration>
            <username>admin</username>
            <password>admin</password>
            <server>raspinaserver</server>
            <path>/azraspina</path>
            <url>http://localhost:8080/manager/html</url>
        </configuration>
    </plugin>
</plugins>

这是我的雄猫用户的一部分.xml :

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

到目前为止,我已经尝试了网络上几乎所有的东西! 我已经将pom的凭据部分.xml添加到Maven的设置.xml中,但它并没有解决问题.我也尝试使用"Tomcat7-Maven-plugin",但仍然没有运气。 我什至尝试将头撞到水泥墙上(尽可能用力),但我还活着,所以那里也没有运气。那么,你能帮我解决这个问题吗?谢谢

如果要部署到Tomcat 7,则可以考虑使用Apache的Tomcat 7 Maven插件,而不是Codehaus版本。

通常,凭据不会进入 POM 中的插件配置,因为 POM 最终会进入工件存储库,并且通常与其他开发人员共享。 凭据位于 settings.xml <servers> 元素中,然后配置插件以引用该服务器。 这就是Tomcat 7插件使用文档和Codehaus tomcat插件所描述的。

因此,您的设置.xml:

....
<servers>
  <server>
      <id>raspinaserver</id>
      <username>admin</username>
      <password>admin</password>
  </server>
</servers>
...

和插件配置:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
      <server>raspinaserver</server>
      <path>/azraspina</path>
      <url>http://localhost:8080/manager/html</url>
    </configuration>
</plugin>

我认为问题可能出在管理器 URL 上。试试你的绒球.xml

<url>http://localhost:8080/manager/html</url>

而不是:

<url>http://localhost:8080/manager</url>

我找不到有关这些 URL 的文档(肯定存在),但无论如何,它适用于我使用 tomcat-maven-plugin v6.0.39 部署到 apache-tomcat-1.1

这是您的pom中的第二个可能的问题.xml:您尚未指定要使用的插件版本。它可以工作...但它容易出错。Maven甚至警告过这些事情。我在我的绒球上使用它.xml :

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>
  <version>1.1</version>
  <configuration>
    <url>http://localhost:8080/manager</url>
    <server>MyTomcat</server>
    <path>/agalindo-webui</path>
  </configuration>
</plugin>

在那里,我在我的设置中指定了像user944849这样的服务器.xml(~/.m2/settings.xml),如下所示:

<settings>
  <servers>
    <server>
      <id>MyTomcat</id>
      <username>myusername</username>
      <password>mypassword</password>
    </server>
  </servers>
  <!-- .. -->
</settings>

希望对您有所帮助,

/天使

相关内容

最新更新