tomcat-maven-plugin:服务器返回HTTP响应代码:403

时间:2013-04-07 03:05:13

标签: eclipse java-ee maven tomcat m2e

我正在尝试从Eclipse Java EE自动部署Maven webapp到我的本地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 extract:

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

<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回答了这个问题。但以前你必须打开文件:localhost.server上的Tomcat v7.0服务器。方法如下:

  1. 属性
  2. 单击“切换位置”,将显示箭头3指示的文件。
  3. 打开文件 enter image description here

1 个答案:

答案 0 :(得分:3)

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

enter image description here

这意味着您从Eclipse开始的Tomcat正是您在IDE中定义Tomcat服务器时提供的Tomcat。否则,Eclipse会在工作区内的目录中运行修剪后的版本,而不提供管理器:

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

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

祝你好运