目录
CATALINA_BASE加载路径更改
闪现
IDEA启动Tomcat时加载的CATALINA_BASE的加载路径如果没有显式的定义,那么IDEA就会从自己的配置文件下加载,也就是从idea本身的tomcat中加载。如下图:
闪现
引发的问题
java.lang.NullPointerException
at org.apache.catalina.startup.HostConfig.filterAppPaths(HostConfig.java:493)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:466)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
要想让CATALINA_BASE加载与CATALINA_HOME一样、加载tomcat的配置,有两种方法:
一:在catalina.bat中显式的添加 set “CATALINA_BASE=D:\java\apache-tomcat-8.0.51”。如下图
二:在idea的tomcat配置界面添加CATALINA_BASE的环境变量,地址填tomcat根目录即可。如下图
Debugger断点无效
闪现到 stackoverflow
项目可以正常启动、但是debugger模式就是不进断点:
观察Idea启动Tomcat时控制台输出有么有
有上面这一行代表,没有就代表没有进去的debugger模式。
可能原因以及解决方案:
一:
tomcat下面的catalina.bat中设置了set “JAVA_OPTS=-Xms1024m -Xmx4056m”,导致Idea中的JAVA_OPTS失效。
JAVA_OPTS=%JAVA_OPTS%,这个%JAVA_OPTS% 就是读取idea中的java_opts(外部IDE中Tomcat组件的JVM配置)
解决:将Tomcat下catalina.bat中的JAVA_OPTS配置删除、放到IDEA的tomcat配置页面中
Web Application:Exploded和Archive区别
标题 | Web Application:Exploded | Web Application:Archive |
---|---|---|
模式 | 发布模式 | 部署模式 |
类型 | 以文件夹形式发布项目 | 将项目打成一个war包 |
安置位置 | 直接在tomcat的webapps目录下手动创建对应的文件夹 | 将war包放到webapps下面 |
创建方式 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | Archive需要在Exploded创建完的基础上去创建,然后指定Output directory到tomcat的webapps对应的目录下的可以了 |
Unable to ping server at localhost:1099
报错:Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099
- 端口冲突,可以通过命令行
netstat -ano|findstr 1099
看看有没有占用、占用就kill它 - JVM内存不足,通过JAVA_OPTS去设置内存,具体度娘吧
- java环境出了问题,没有指到对应的jre环境、可以在环境变量里设置正确的jre路径,或者在catalina.bat中设置