[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory报错,Tomcat启动失败

[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory报错,Tomcat启动失败

问题概述

tomcat启动卡在[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory …卡住不动

解决方案

[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory报错,Tomcat启动失败
图片内容详情如下:

解决方案一:

首先一定一定要检查web.xml文件是否有写错没!!!!!!!!!!!!!!!!!!!!!!!!
我之前就是因为web.xml文件中多了一个小标点符号就直接报错,找了一天!!!!!!!!!!!!第二个可能是jdk配置错误了或者是tomcat配置错误

解决方案二:

如果在catalina.bat文件中设置了内存机制, 如:set JAVA_OPTS=-server -Xms1024m -Xmx1024m ,用rem 注释掉,或删除 。

解决方案三:

仔细检查数据库连接文件是否写对,因为我之前要共享数据库,所以写的是局域网的ip地址,后来回家忘了换成localhost,才导致卡死
1 jdbc.driver=com.mysql.cj.jdbc.Driver
2 jdbc.url=jdbc:mysql://192.168.58.12:3307/management_of_metadata1?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
  
3 jdbc.username=root
4 jdbc.password=root123

解决方案四:

tomcat启动时一直卡在[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory,通过查找资料发现这个问题和jvm上的熵池策略有关。
在tomcat下bin编辑catalina.sh,然后找到下面这个位置:
if [ -z “ J S S E O P T S " ] ; t h e n J S S E O P T S = " − D j d k . t l s . e p h e m e r a l D H K e y S i z e = 2048 " f i J A V A O P T S = " JSSE_OPTS" ] ; then JSSE_OPTS="-Djdk.tls.ephemeralDHKeySize=2048" fi JAVA_OPTS=" JSSEOPTS"];thenJSSEOPTS="Djdk.tls.ephemeralDHKeySize=2048"fiJAVAOPTS="JAVA_OPTS $JSSE_OPTS”

// Register custom URL handlers
//Do this here so custom URL handles (specifically ‘war:…’) can be used in the security policy
JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"

给JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"这一行后加-Djava.security.egd=file:/dev/urandom

解决方案五:

找到jdk1.x.x_xx/jre/lib/security/Java.security文件,在文件中找到securerandom.source这个设置项,将其改为:securerandom.source=file:/dev/./urandom。