【问题标题】:Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli)未能执行目标 org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli)
【发布时间】:2013-04-20 06:53:24
【问题描述】:

我正在尝试执行 mvn tomcat:deploy,但遇到了错误

 [ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project appanalytix: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:deploy (default-cli) on project appanalytix: Cannot invoke
Tomcat manager
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot invoke Tomcat manager
    at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:149)
    at org.codehaus.mojo.tomcat.AbstractWarCatalinaMojo.execute(AbstractWarCatalinaMojo.java:70)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:378)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:473)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:203)
    at sun.net.www.http.HttpClient.New(HttpClient.java:290)
    at sun.net.www.http.HttpClient.New(HttpClient.java:306)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:995)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:931)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:849)
    at org.codehaus.mojo.tomcat.TomcatManager.invoke(TomcatManager.java:597)
    at org.codehaus.mojo.tomcat.TomcatManager.deployImpl(TomcatManager.java:662)
    at org.codehaus.mojo.tomcat.TomcatManager.deploy(TomcatManager.java:295)
    at org.codehaus.mojo.tomcat.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85)
    at org.codehaus.mojo.tomcat.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:85)
    at org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141)

ma​​ven\conf\settings.xml

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

tomcat-7.0.39\conf\tomcat-users

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

pom.xml

  <plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
    <mode>war</mode>
    <url>http://localhost:8080/manager</url>
    <server>TomcatServer</server>
    <path>/appanalytix</path>
  </configuration>
</plugin>

我尝试过使用 /text/html from 但这不起作用,请帮我解决这个问题

【问题讨论】:

    标签: java spring maven tomcat7


    【解决方案1】:

    首先你必须知道tomcat-maven-pluginapache software foundation 的移动 其次,您不应将配置内容放入 maven/conf/settings.xml 中,而应使用 users settings.xml 文件 HOME/.m2/settings.xml 。

    除了上述之外,您还应该使用以下 URL 来访问 Tomcat:

    http://localhost:8080/manager/html
    

    【讨论】:

    • 我遇到了问题,因为我没有在http://localhost:8080/manager 的末尾添加/html
    • 对我不起作用(相同的配置)。这不是一个确定性的解决方案。
    【解决方案2】:

    以下方法对我有用。

    1. 请更改您的pom.xml 以包含

      <project>
          ...
          <build>    
              <plugins>    
              ....
                  <plugin>
                      <groupId>org.apache.tomcat.maven</groupId>
                      <artifactId>tomcat7-maven-plugin</artifactId>
                      <version>2.1</version>
                      <configuration>
                          <url>http://localhost:8080/manager/text</url>
                          <server>my-tomcat</server>
                          <path>/myapp</path>
                      </configuration>
                  </plugin>
              </plugins>
              ...
          </build>
          ...
      </project>
      
    2. 确保您的 Tomcat 7 服务器在 TOMCAT_HOME/conf/tomcat-users.xml 上有以下行:

      <!-- Role to manage WAR files via HTML /manager. The name should be as is! -->
      <role rolename="manager-gui"/>
      <!-- Role to manage WAR files via script like Maven. The name should be as is! -->
      <role rolename="manager-script"/>
      
      <!-- One user cannot have manager-gui and manager-script roles -->
      <user username="managerGui" password="managerPwd" roles="manager-gui"/>
      <user username="manager" password="managerPwd" roles="manager-script"/>
      
    3. 配置您的USER_HOME/.m2/settings.xml 以包含密码。

      <settings>
          ...
          <servers>
              ...
              <server>
                  <id>my-tomcat</id>
                  <username>manager</username>
                  <password>managerPwd</password>
              </server>
          </servers>
      
      </settings>
      
    4. 使用mvn tomcat7:redeploy部署

    阅读更多http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html

    【讨论】:

    • 感谢您提供全面而确定的答案(这应该是公认的答案)。
    • @sancho21 在 Mac OS X Yosemite 上运行 mvn tomcat7:redeploy 会导致插件版本 2.0 出现错误。版本 2.2tomcat7:redeploy 配合得很好。
    • 我有 Tomcat 8 服务器,mvn tomcat7:redeploy 仍然可以工作!
    【解决方案3】:

    对我来说有效的解决方案是:

    1. 转到具有 Main 类的模块。
    2. 右击该模块下的pom.xml。
    3. 选择“运行 Maven”->“更新快照”

    【讨论】:

      【解决方案4】:

      在我的情况下,解决方案有效。我犯了一个小错误,没有启动 Apache Tomcat Server。

      除此之外,让用户在标记内的 maven/conf/setting.xml 中进行适当的输入:-

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

      在 Apache Tomcat 7 tomcat-users.xml 中,应在

      中添加以下行
      <tomcat-users>
      
      <role rolename="manager-gui"/>
          <role rolename="manager-script"/>
           <role rolename="manager-script"/>
            <role rolename="manager-jmx"/>
            <role rolename="manager-status"/>
            <role rolename="admin-gui"/>
            <role rolename="admin-script"/>
          <user username="admin" password="password" roles="standard,manager,admin,manager-gui,manager-script,tomcat" /> 
      

      在 Pom.xml 中

       <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>
              <url>http://localhost:8888/manager/text</url>
              <server>TomcatServer</server>
              <path>$ReplaceWithWarFileName$</path>
              <update>true</update>
              <username>admin</username>
              <password>password</password>
          </configuration>
      </plugin>
      

      【讨论】:

        【解决方案5】:
        1. 运行选项中有一个对我有用的解决方案:

          1_ Maven 安装

          2_ Maven 构建

        【讨论】:

          猜你喜欢
          • 2014-04-14
          • 1970-01-01
          • 1970-01-01
          • 2013-08-03
          • 2016-07-26
          • 1970-01-01
          • 1970-01-01
          • 2020-06-27
          • 2021-11-23
          相关资源
          最近更新 更多