【问题标题】:Tomcat7 + Maven plugin: Tomcat will not start with my warTomcat7 + Maven插件:Tomcat不会启动我的战争
【发布时间】:2016-11-06 03:04:27
【问题描述】:

我将java 8tomcat 7maven 3.3.9 与maven tomcat 插件一起使用:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8085</port>
            </configuration>
        </plugin>
    </plugins>
</build>

有一段时间一切正常,tomcat7:run-war 工作正常。

现在我莫名其妙地收到此错误:

[INFO] --- tomcat7-maven-plugin:2.2:run-war (default-cli) @ tomcat-example ---
[INFO] Running war on http://localhost:8085/tomcat-example
[INFO] Using existing Tomcat server configuration at /Users/shikloshi/java_workspace/webapp-examples/tomcat-example/target/tomcat
[INFO] create webapp with contextPath: /tomcat-example
Jul 04, 2016 2:30:45 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8085"]
Jul 04, 2016 2:30:45 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Jul 04, 2016 2:30:45 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.693s
[INFO] Finished at: Mon Jul 04 14:30:45 IDT 2016
[INFO] Final Memory: 17M/307M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run-war (default-cli) on project tomcat-example: Could not start Tomcat: Failed to start component [StandardServer[-1]]: Failed to start component [StandardService[Tomcat]]: Failed to start component [StandardEngine[Tomcat]]: Failed to start component [Realm[MemoryRealm]]: Memory database file /Users/shikloshi/java_workspace/webapp-examples/tomcat-example/target/tomcat/conf/tomcat-users.xml cannot be read -> [Help 1]

这是错误:

Tomcat: Failed to start component [StandardServer[-1]]: Failed to start component [StandardService[Tomcat]]: Failed to start component [StandardEngine[Tomcat]]: Failed to start component [Realm[MemoryRealm]]: Memory database file /Users/shikloshi/java_workspace/webapp-examples/tomcat-example/target/tomcat/conf/tomcat-users.xml cannot be read -> [Help 1]

谁负责在我的目标目录中编写tomcat配置,为什么不写?

【问题讨论】:

  • 你在哪个端口上运行 configure tomcat in CATALINA_HOME/conf/server.xml ???
  • 这不是端口问题,我使用的是 8086 但这是旧日志。无论如何,我删除了目标目录中的所有 tomcat 目录(因为我使用的是 tomcat maven 插件,所以它在那里)并且它突然起作用了。
  • 请检查是否没有旧的Tomcat进程实例在运行。这可能会锁定目录,并且当您启动插件时,它无法写入错误提到的文件。

标签: java maven tomcat


【解决方案1】:

您可以尝试在以下位置为tomcat用户创建文件:

/Users/shikloshi/java_workspace/webapp-examples/tomcat-example/target/tomcat/conf/

然后将其添加到其中:

<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
 <role rolename="tomcat"/>
 <role rolename="admin"/>
 <role rolename="manager"/>
 <user  username="admin" password="admin" roles="tomcat,admin,manager"/>
</tomcat-users>

【讨论】:

  • 这不是问的问题。 -1
【解决方案2】:

执行mvn clean 以清理目标目录。

然后再试一次,tomcat-maven-plugin会重新创建tomcat文件夹(包括文件tomcat-users.xml)。

【讨论】:

    【解决方案3】:

    只需从您的应用程序中删除目标文件夹并再次运行您的应用程序。它对我有用。

    【讨论】:

      猜你喜欢
      • 2012-03-29
      • 2016-07-12
      • 2012-03-28
      • 1970-01-01
      • 2014-01-19
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多