【问题标题】:Tomcat deployement issue in a Maven projectMaven项目中的Tomcat部署问题
【发布时间】:2013-01-14 04:40:02
【问题描述】:

我一直在尝试创建一个简单的基于 maven Web 的项目,以对 maven 充满信心。我在 pom.xml 中添加了 tomcat7 插件以将其用作服务器。但是当我开始使用

将我的 war 文件部署到 tomcat 时

tomcat7:部署

它抛出如下错误,

[INFO] Deploying war to http://127.0.0.1:8080/MavenWeb  
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.585s
[INFO] Finished at: Wed Jan 30 16:03:06 IST 2013
[INFO] Final Memory: 9M/24M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy  (default-cli) on project MavenWeb: Cannot invoke Tomcat manager: Connection to http://127.0.0.1:8080 refused: Connection refused -> [Help 1]

我在 pom.xml 中的插件部分如下。

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.0</version>
    <configuration>
       <url>http://127.0.0.1:8080/manager/html</url>
       <warFile>/home/shebin/Maven Folder/MavenWeb/target/MavenWeb.war</warFile>
   <server>TomcatServer</server>
       <path>/MavenWeb</path>
   <username>tomcat</username>
       <password>tomcat</password>
    </configuration>
</plugin>

.m2/settings.xml 和 /home/shebin/apache-maven-3.0.4/conf/settings.xml

<server>
        <id>TomcatServer</id>
        <username>tomcat</username>
        <password>tomcat</password>
</server>

/home/shebin/apache-tomcat-7.0.35/conf/tomcat-users.xml

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

我已经通过了各种解决方案,但我的方式没有任何效果。我的 Maven 版本是 3.0.4 并使用 tomcat7 插件。

【问题讨论】:

  • 您是否首先验证您可以直接在tomcat管理器Web界面中部署WAR文件?

标签: maven tomcat maven-3 pom.xml


【解决方案1】:

maven插件配置中的url应该是&lt;url&gt;http://127.0.0.1:8080/manager/text&lt;/url&gt;,对应角色manager-script

另外,值得注意的是,更改{TOMCAT_HOME}/conf/tomcat-users.xml中的roles后,必须重新启动tomcat服务器才能重新加载配置。我知道这是常识,但我的经验告诉我,你们中的一些人可能真的停留在这里。

【讨论】:

    【解决方案2】:

    这个错误信息

    [ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.0:deploy  (default-cli) on project MavenWeb: Cannot invoke Tomcat manager: Connection to http://127.0.0.1:8080 refused: Connection refused -> [Help 1]
    

    暗示这是与身份验证相关的。尝试改变它

    <role rolename="manager-gui"/>
    <user username="tomcat" password="tomcat" roles="manager-gui"/>
    

    <role rolename="manager-script"/>
    <user username="tomcat" password="tomcat" roles="manager-script"/>
    

    通过基于浏览器的管理客户端不会发生来自 maven 插件的访问 :)

    【讨论】:

    • 它也不起作用。仍然是同样的错误。还有你的意思是“从 maven 插件访问不会发生在基于浏览器的管理客户端”..
    • 您指定的角色“mananger-gui”为具有该角色的用户提供了访问基于 HTML 的管理 gui 的权限。我的意思是maven插件不会通过gui部署战争,所以使用它是错误的角色。尝试使用角色管理器脚本 :)
    【解决方案3】:

    我遇到了同样的问题。您需要添加一个额外的角色:manager-jmx。所以你的 tomcat-users.xml 文件应该有。

    <user username="tomcat" password="tomcat" roles="manager-script, manager-jmx"/>
    

    【讨论】:

      【解决方案4】:

      感谢这篇文章中的要点,我也得到了这个工作。我坚持的事情是: POM 文件 - 您需要在路径的开头使用斜杠(或者它试图将其安装在 /manager/ 下但失败):

      <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>
              <url>http://10.54.17.35:8080/manager/text</url>
              <server>LoginForTomcat</server>
              <path>/displayService</path>
          </configuration>
      </plugin>
      

      在 ~/.m2/settings.xml 中提供服务器凭据:

      <servers>
          <server>
              <id>LoginForTomcat</id>
              <username>figgy</username>
              <password>passw0rd</password>
          </server>
      </servers>
      

      在tomcat服务器上,需要定义manager-script和manager-jmx:

        <role rolename="manager-gui"/>
        <role rolename="manager-script"/>
        <role rolename="manager-jmx"/>
        <user username="figgy" password="passw0rd" roles="manager-gui,manager-script,manager-jmx"/>
      

      查看这里的所有内容都在上面的帖子中,发布此内容以澄清事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-19
        • 2016-12-07
        • 2012-07-04
        • 1970-01-01
        • 2023-03-29
        • 2015-10-20
        相关资源
        最近更新 更多