【问题标题】:tomcat-maven-plugin: Server returned HTTP response code: 403tomcat-maven-plugin:服务器返回 HTTP 响应代码:403
【发布时间】:2013-03-29 07:33:51
【问题描述】:

我正在尝试将 Maven webapp 从 Eclipse Java EE 自动部署到我的本地 Tomcat 服务器。我正在使用 Windows XP。这是错误:

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

我想我知道这个错误的原因:

  • 如果我在 Eclipse 中运行 Tomcat 服务器,127.0.0.1:8080 是我的工作区/目标。上面有任何管理器文件夹和其他类,所以它不起作用。可能的拙劣解决方案:将此文件夹和文件复制到我的项目中。
  • 如果我在 Eclipse 之外运行 Tomcat 服务器,127.0.0.1:8080 是 tomcat_location/webapps。它不起作用,因为 Eclipse 在我的工作区中创建了 war 文件,因此 Tomcat 找不到它。可能的解决方案:配置 maven-war-plugin 以创建 war 文件到 127.0.0.1:8080。我该怎么做?这是最好的方法吗?

pom.xml 提取:

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <configuration>
        <url>http://127.0.0.1:8080/manager</url>
        <username>admin</username>
        <password>password</password>
        <server>TomcatServer</server>
        <path>/practica-3</path>
    </configuration>
 </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
       <warSourceDirectory>WebContent</warSourceDirectory>
       <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>

tomcat-users.xml 提取:

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

更新: pvm14 回答了这个问题。但之前您必须打开文件:Tomcat v7.0 Server at localhost.server。方法如下:

  1. 属性
  2. 点击切换位置,会出现箭头3所指的文件。
  3. 打开文件

【问题讨论】:

  • 仅供参考 @chelder 不应授予具有 manager-gui 角色的用户 manager-script 或 manager-jmx 角色。

标签: eclipse jakarta-ee maven tomcat m2e


【解决方案1】:

您从 Eclipse 中启动的 Tomcat 服务器不会有可用的“Tomcat 管理器”控制台 (localhost:8080/manager),除非您使用此选项对其进行配置:

这意味着您从 Eclipse 启动的 Tomcat 正是您在 IDE 中定义 Tomcat 服务器时提供的那个。否则 Eclipse 会在工作空间内的目录中运行一个修剪后的版本,没有可用的管理器:

{workspace_dir}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0

如果您在运行的实例中没有可用的 tomcat 管理器,则 tomcat-maven-plugin 将无法部署任何东西

最好的问候

【讨论】:

  • 谢谢。在我的 Eclipse-Tomcat 版本中找到该选项并不容易。因此,我将更新我的问题以添加如何打开文件:Tomcat v7.0 Server at localhost.server(在您的情况下为 Tomcat v6.0)。
  • 对不起,我太乐观了,我认为它会起作用。没有正确部署,因为war不是在Tomcat的webapp中创建的:Building war: E:\chelder\Documents\eclipse_workspaces\git_IngenieriaWeb_tests\practica\target\practicaIW-0.0.1-SNAPSHOT.war你知道怎么配置吗maven-war-plugin 在 Tomcat 文件夹中构建它? ://
  • 你不需要在 Tomcat 文件夹中构建任何东西,也不需要以任何方式配置插件来做到这一点。如果它指向具有正确凭据的正确 URL,它将为您上传战争到正确的位置。要设置我所说的选项(对于 Tomcat 6 或 7),您只需双击服务器(图像上的第 3 点),我粘贴的窗口就会出现。问候
  • 没错,网址不完整。这个在我的情况下工作:127.0.0.1:8080/manager/text</url>如果你读了它并且仍然得到 403 错误,我建议也检查一下:stackoverflow.com/questions/5410479/… 谢谢你对 pvm14 的所有帮助! :)
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 2018-10-19
  • 2015-07-17
  • 2015-03-28
  • 1970-01-01
  • 2013-10-20
  • 2022-01-21
相关资源
最近更新 更多