目錄
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中設置