【问题标题】:Tomcat 6.0.32 + Maven undeploy via script not workingTomcat 6.0.32 + Maven 通过脚本取消部署不起作用
【发布时间】:2011-07-19 10:43:08
【问题描述】:

我正在使用 Tomcat 6.0.32(带有新的用户管理系统(manager-gui、manager-script,...)),并且在使用 maven 的取消部署过程中遇到了一些问题。

我不断收到此错误:

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:undeploy (default-cli) on project test: Cannot invoke Tomcat manager: <html>

问题似乎与 tomcat 目标有关。目前在我的 pom.xml 我有这个:

<configuration>
   <url>http://localhost:8080/manager/html</url>
   <server>tomcat6</server>
   <path>/test/*</path>
</configuration>

我已经阅读了一些关于定位 /html 或 /text 的问题,但目前我并不知道它应该如何工作。 /html 可以很好地部署(而 /text 不是),但不能用于取消部署。

有什么想法吗?

谢谢!

【问题讨论】:

  • 我已经迁移到 Tomcat 7.0.20,其中的 codehaus mojo mavent tomcat 插件在部署和取消部署时都可以正常工作。但如果有人能出于好奇解决这个问题...... :)

标签: tomcat deployment maven tomcat6


【解决方案1】:

为了让 tomcat:undeploy 和 tomcat:deploy 都能正常工作,我只需要将角色“manager-script”添加到 tomcat 的 tomcat-users.xml 中

使用“/manager/text”网址,我终于可以同时运行它们了。没有这个角色,我能够运行部署和重新部署。

【讨论】:

  • /manager/text 在部署和取消部署时都不适合我(将管理器脚本添加到用户)。 /manager/html 至少让我部署。无法在项目 tapmeme 上执行目标 org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli):无法调用 Tomcat 管理器:服务器返回 HTTP 响应代码:403 用于 URL:localhost:8080/manager/text/deploy?path=%2Ftapmeme&war= -> [帮助1]
  • /manager/text 和 manager-script 在 Tomcat7(不是 tomcat6)上为我工作。
【解决方案2】:

我有类似的问题。通过 Maven 的 tomcat 插件进行远程部署无法正常工作。

因此,在应用了 Matt 建议的方法后,我同意 Tomcat6 和 Tomcat7 需要不同的部署 URL

对于 Tomcat 6 它是:

http://%HOSTNAME%:8080/manager

对于 Tomcat 7,它是:

http://%HOSTNAME%:8080/manager/text

为了完整起见,用户(在 %MAVEN_PATH%/conf/settings.xml 中为 tomcat 插件定义)具有正确的角色(在 %TOMCAT_PATH%/conf/tomcat-users.xml 中定义)也很重要。用户需要具有 ma​​nager-script 角色。

【讨论】:

    【解决方案3】:

    据我所知,Tomcat 7 中的 Manager App 与前一个不同,Tomcat Maven Plugin 没有明确支持。改为检查this

    【讨论】:

    • "这个 Tomcat 7 Maven 插件支持功能齐全的 Tomcat,用于使用 Maven 进行测试(主要是集成测试)。它支持部署在 tomcat 上的多个 webapps。"据我了解,t7mp 不支持远程部署,是吗?
    • 不,它没有。好吧,让它几乎没用。
    【解决方案4】:

    我不知道这是否仍然是一个问题,但为了让通过 google 找到此线程的人们更容易,我遇到了类似的问题。

    我对 tomcat6 的修复是:

    1. 确保用户拥有adminmanager 角色
    2. 对于 URI,仅使用 http://localhost:8080/manager(即 - t6 没有“html”或“text”)

    不过,我使用的是 ant。但话虽如此,我认为这对 tomcat6 有帮助,无论构建工具如何。

    【讨论】:

      猜你喜欢
      • 2015-09-01
      • 1970-01-01
      • 2015-03-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      相关资源
      最近更新 更多