Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse tomcat maven插件:服务器返回HTTP响应代码:403_Eclipse_Jakarta Ee_Maven_Tomcat_M2e - Fatal编程技术网

Eclipse tomcat maven插件:服务器返回HTTP响应代码:403

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

我正在尝试将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 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。我该怎么做?这是最好的处理方法吗
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>
<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。以下是如何:

  • 性质
  • 单击开关位置,将显示箭头3指示的文件
  • 打开文件

  • 从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角色。