【问题标题】:Spring boot deploy as ROOT in tomcat stuck at deployingSpring Boot 在tomcat中部署为ROOT,卡在部署中
【发布时间】:2019-01-09 11:51:49
【问题描述】:

我在 Linux 服务器中部署 Spring Boot 应用程序时遇到问题。

我将项目构建为 war 文件并将其重命名为 ROOT.war

ROOT.war放入webapps文件夹并启动tomcat服务后,卡在这个阶段,没有任何反应。

09-Jan-2019 09:27:10.503 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/home/tomcat/webapps/ROOT.war]

我通过网络检查了可能的解决方案,还添加了-Djava.security.egd=file:/dev/./urandom 属性。

我从jstack 得到了转储。但我无法理解这里可能是什么问题。

这是我启动tomcat服务器后的输出

09-Jan-2019 09:26:51.998 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.35
09-Jan-2019 09:26:52.001 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Nov 3 2018 17:39:20 UTC
09-Jan-2019 09:26:52.002 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.35.0
09-Jan-2019 09:26:52.002 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
09-Jan-2019 09:26:52.003 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-862.11.6.el7.x86_64
09-Jan-2019 09:26:52.003 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
09-Jan-2019 09:26:52.003 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/java/jdk1.8.0_191-amd64/jre
09-Jan-2019 09:26:52.004 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_191-b12
09-Jan-2019 09:26:52.004 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
09-Jan-2019 09:26:52.004 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /home/tomcat
09-Jan-2019 09:26:52.004 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /home/tomcat
09-Jan-2019 09:26:52.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/home/tomcat/conf/logging.properties
09-Jan-2019 09:26:52.005 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
09-Jan-2019 09:26:52.007 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
09-Jan-2019 09:26:52.007 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
09-Jan-2019 09:26:52.008 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
09-Jan-2019 09:26:52.008 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
09-Jan-2019 09:26:52.008 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
09-Jan-2019 09:26:52.008 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
09-Jan-2019 09:26:52.008 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms512M
09-Jan-2019 09:26:52.009 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx1024M
09-Jan-2019 09:26:52.009 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseParallelGC
09-Jan-2019 09:26:52.009 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
09-Jan-2019 09:26:52.010 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/home/tomcat
09-Jan-2019 09:26:52.010 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/home/tomcat
09-Jan-2019 09:26:52.011 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/home/tomcat/temp
09-Jan-2019 09:26:52.011 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
09-Jan-2019 09:27:00.000 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-80"]
09-Jan-2019 09:27:00.595 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
09-Jan-2019 09:27:01.317 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
09-Jan-2019 09:27:01.576 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
09-Jan-2019 09:27:01.577 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 31920 ms
09-Jan-2019 09:27:06.322 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
09-Jan-2019 09:27:06.322 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.35
09-Jan-2019 09:27:10.503 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/home/tomcat/webapps/ROOT.war]

对于jstack的日志,请在此处查看https://textuploader.com/1aoh0

更新

<build> 来自pom.xml

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

【问题讨论】:

  • 是的,已经尝试过了。同样的问题
  • 当你将战争命名为ROOT时它不起作用?这就是你想说的吗?如果没有,您可以从您的pom.xml 中添加您的&lt;build&gt;
  • @GabLeg 是的,如果我将它命名为 app.war,那么它的部署就很好。添加有问题的&lt;build&gt;
  • 我刚刚像你一样将我的一场战争重命名为ROOT.war,但它也不起作用。问题是 webapps 中已经有一个 ROOT 文件夹。我出于测试目的删除了它,正如我所料,它在我重试时部署了应用程序。

标签: java spring spring-boot tomcat


【解决方案1】:

我认为这与以 ROOT 身​​份运行 war 文件没有任何关系。您应该能够通过在 catalina.sh 中进行一些小改动来解决此问题

  1. 打开 Tomcat 的 bin 文件夹中的 catalina.sh 文件。

  2. 搜索 JAVA_OPTS 并添加以下内容, -Djava.security.egd=file:/dev/./urandom

例如:, JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"

  1. 保存 catalina.sh 并重新启动 tomcat。

希望您现在不应该面临同样的问题。

【讨论】:

  • 我已经添加了。您可以在我发布的tomcat日志中查看。 -Djava.security.egd=file:/dev/./urandom
猜你喜欢
  • 2020-04-17
  • 2015-10-28
  • 2016-03-28
  • 2022-11-21
  • 1970-01-01
  • 2019-08-16
  • 2016-08-11
  • 2018-01-13
  • 2017-11-23
相关资源
最近更新 更多