2013-04-07 140 views
1

我试图从Eclipse Java EE自动部署一个Maven webapp到我的本地Tomcat服务器。我正在使用Windows XP。这是错误:tomcat-maven-plugin:服务器返回的HTTP响应代码:403

[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将战争文件创建为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> 

UPDATE: pvm14回答了这个问题。但之前您必须打开文件:localhost.server上的Tomcat v7.0服务器。这里是如何:

  1. 属性
  2. 点击开关的位置,使箭头指示3会出现文件。
  3. 打开文件 enter image description here
+0

与经理桂角色FYI @chelder用户不应该被授予无论是管理者脚本或经理JMX的角色。 – Lucky 2014-06-23 07:09:38

回答

3
您在Eclipse启动

Tomcat服务器是不会有一个“Tomcat管理器”控制台中可用(本地主机:8080 /经理),除非您使用此选项进行配置:

enter image description here

这意味着,你从Eclipse中启动Tomcat正是你定义在IDE中Tomcat服务器时提供的一个。否则的Eclipse运行修剪的版本,没有经理可用,在位于工作区中的一个目录:

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

如果你没有在该实例提供一个Tomcat经理,你正在运行Tomcat的Maven的插件夺得” T为能够部署任何

问候

+0

谢谢。在我的Eclipse-Tomcat版本中找到这个选项并不那么容易。因此,我将更新我的问题,以添加如何打开文件:Tomcat v7.0服务器在localhost.server(在您的情况下Tomcat v6.0)。 – chelder 2013-04-08 11:02:40

+0

对不起,我太乐观了,我认为它会起作用。它没有正确部署,因为战争不是在Tomcat的Web应用程序中创建的: 构建战争:E:\ chelder \ Documents \ eclipse_workspaces \ git_IngenieriaWeb_tests \ practice \ target \ practicaIW-0.0.1-SNAPSHOT.war 你知道如何配置maven-war-plugin在Tomcat文件夹中构建它? :/ – chelder 2013-04-08 16:58:38

+0

您不需要在Tomcat文件夹中构建任何内容,也不需要以任何方式配置该插件。如果使用正确的凭证指向正确的URL,它会将战争上传到适当的位置。要设置我正在谈论的选项(对于Tomcat 6或7),您只需双击服务器(图像上的第3点),我会粘贴的窗口就会出现。 Regards – pvm14 2013-04-08 19:50:40

相关问题