解決Intellij IDEA覆蓋tomcat配置的問題
剛剛遇到bug,每次修改自己環(huán)境里tomcat的server.xml,再次在Intellij里啟動tomcat之后,修改就消失了,心態(tài)很炸裂hhh
研究了好久,最終把目光放在了下圖所示的地方。

一開始以為是自己環(huán)境變量沒配,但是看了一下發(fā)現(xiàn)沒問題,又在cmd里試著運行了一遍,發(fā)現(xiàn)CATALINA_BASE跟上圖里的不一樣,查了一些資料后判斷是是intellij自動用自己tomcat里的conf把我tomcat里的給override了。
找到原因就很容易解決了,像圖里這樣告訴Intellij,誰才是能配置CATALINA_BASE的人就行啦~

這么看來Intellij也有點算易學(xué)難精,環(huán)境配置還是個大坑啊。
補充知識:IntelliJ IDEA SpringBoot 使用第三方Tomcat以及部署
一、第三方Tomcat部署
目標(biāo):把spring-boot項目按照平常的web項目一樣發(fā)布到tomcat容器下
1. 修改打包形式
在pom.xml里設(shè)置 <packaging>war</packaging>
<groupId>com.study</groupId> <artifactId>test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging>
2. 移除嵌入式tomcat插件
在pom.xml里找到spring-boot-starter-web依賴節(jié)點,在其中添加如下代碼:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
3. 添加servlet-api的依賴
下面兩種方式都可以,任選其一
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>8.0.36</version> <scope>provided</scope> </dependency>
4. 修改啟動類,并重寫初始化方法
我們平常用main方法啟動的方式,都有一個App的啟動類,代碼如下:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
直接讓啟動類繼承SpringBootServletInitializer,并覆蓋configure()方法:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意這里要指向原先用main方法執(zhí)行的Application啟動類
return builder.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
5. 打包部署
IDEA上方工具欄:Run->Edit Configurations
打開配置界面,左邊"+"號->Tomcat Server->Local
完成后如下所示
然后在Deployment中點擊"+"號,選擇client:war,這樣每次server啟動的時候都會去打包一次war包(個人理解),然后去運行war包。
然后保存就可以了,然后啟動項目就運行起來了。
到此這篇關(guān)于解決Intellij IDEA覆蓋tomcat配置的問題的文章就介紹到這了,更多相關(guān)IDEA覆蓋tomcat配置問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java tomcat環(huán)境變量及idea配置解析
- 使用IDEA配置Tomcat和連接MySQL數(shù)據(jù)庫(JDBC)詳細(xì)步驟
- intelli idea中配置Tomcat找不到的解決辦法
- idea配置tomcat啟動web項目的圖文教程
- 解決IDEA配置tomcat啟動報錯問題
- IDEA 2020 配置Tomcat服務(wù)器的詳細(xì)步驟
- Idea配置maven-tomcat-plugin插件實現(xiàn)項目部署
- intellij idea tomcat熱部署配置教程
- IntelliJ IDEA Tomcat配置詳解(圖文)
- IntelliJ?IDEA中配置Tomcat超詳細(xì)教程
相關(guān)文章
controller接口跳轉(zhuǎn)到另一個controller接口的實現(xiàn)
這篇文章主要介紹了controller接口跳轉(zhuǎn)到另一個controller接口的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
不喜歡羅里吧嗦,講的很精簡易懂。從基礎(chǔ)開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項目實戰(zhàn),希望能給大家?guī)韼椭?/div> 2022-03-03
java ThreadPool線程池的使用,線程池工具類用法說明
這篇文章主要介紹了java ThreadPool線程池的使用,線程池工具類用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Java使用訪問者模式解決公司層級結(jié)構(gòu)圖問題詳解
這篇文章主要介紹了Java使用訪問者模式解決公司層級結(jié)構(gòu)圖問題,結(jié)合實例形式分析了訪問者模式的概念、原理及Java使用訪問者模式解決公司曾經(jīng)結(jié)構(gòu)圖問題的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-04-04
如何在springMVC的controller中獲取request
這篇文章主要介紹了如何在springMVC的controller中獲取request,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12最新評論

