Eclipse tomcat maven插件:服务器返回HTTP响应代码:403
我正在尝试将Maven webapp从EclipseJavaEE自动部署到本地Tomcat服务器。我正在使用Windows XP。这就是错误:Eclipse tomcat maven插件:服务器返回HTTP响应代码:403,eclipse,jakarta-ee,maven,tomcat,m2e,Eclipse,Jakarta Ee,Maven,Tomcat,M2e,我正在尝试将Maven webapp从EclipseJavaEE自动部署到本地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 c
[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插件,将war文件创建为127.0.0.1:8080。我该怎么做?这是最好的处理方法吗
<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>
<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>
org.codehaus.mojo
TomcatMaven插件
http://127.0.0.1:8080/manager
管理
密码
TomcatServer
/实习-3
org.apache.maven.plugins
maven战争插件
2.3
网络内容
假的
tomcat-users.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>
<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 Server。以下是如何:
从Eclipse内部启动的Tomcat服务器不会有可用的“Tomcat管理器”控制台(localhost:8080/Manager),除非您使用以下选项进行配置: 这意味着从Eclipse启动的Tomcat正是在IDE中定义Tomcat服务器时提供的Tomcat。否则,Eclipse将在工作区内的目录中运行一个修剪过的版本,并且没有可用的管理器:
{workspace_dir}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
如果在运行tomcat maven插件的实例中没有可用的tomcat管理器,则无法部署任何内容
向您致意谢谢。在我的EclipseTomcat版本中,要找到这个选项并不容易。因此,我将更新我的问题,添加如何打开文件:localhost.Server上的Tomcat v7.0服务器(在您的例子中是Tomcat v6.0)。对不起,我太乐观了,我认为它可以工作。它没有正确部署,因为war不是在Tomcat的webapp中创建的:Building war:E:\chelder\Documents\eclipse\u workspaces\git\u IngenieriaWeb\u tests\practica\target\practicaIW-0.0.1-SNAPSHOT.war您知道如何配置maven war插件在Tomcat文件夹中构建它吗/您不需要在Tomcat文件夹中构建任何东西,也不需要以任何方式配置插件。如果war使用正确的凭据指向正确的url,它会将war上载到正确的位置。要设置我所说的选项(对于Tomcat6或7),只需双击服务器(图像上的第3点),我粘贴的窗口就会出现。实际上,url不完整。这一个在我的情况下起作用:谢谢你的帮助pvm14!:)FYI@chelder具有manager gui角色的用户不应被授予manager脚本或manager jmx角色。