【发布时间】: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。方法如下:
- 属性
- 点击切换位置,会出现箭头3所指的文件。
- 打开文件
【问题讨论】:
-
仅供参考 @chelder 不应授予具有 manager-gui 角色的用户 manager-script 或 manager-jmx 角色。
标签: eclipse jakarta-ee maven tomcat m2e