1

我正在尝试将 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. 打开文件 在此处输入图像描述
4

1 回答 1

3

您从 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 将无法部署任何东西

最好的祝福

于 2013-04-07T23:47:15.597 回答