解決Intellij IDEA覆蓋tomcat配置的問題
剛剛遇到bug,每次修改自己環(huán)境里tomcat的server.xml,再次在Intellij里啟動(dòng)tomcat之后,修改就消失了,心態(tài)很炸裂hhh
研究了好久,最終把目光放在了下圖所示的地方。
一開始以為是自己環(huán)境變量沒配,但是看了一下發(fā)現(xiàn)沒問題,又在cmd里試著運(yùn)行了一遍,發(fā)現(xiàn)CATALINA_BASE跟上圖里的不一樣,查了一些資料后判斷是是intellij自動(dòng)用自己tomcat里的conf把我tomcat里的給override了。
找到原因就很容易解決了,像圖里這樣告訴Intellij,誰才是能配置CATALINA_BASE的人就行啦~
這么看來Intellij也有點(diǎn)算易學(xué)難精,環(huán)境配置還是個(gè)大坑啊。
補(bǔ)充知識(shí):IntelliJ IDEA SpringBoot 使用第三方Tomcat以及部署
一、第三方Tomcat部署
目標(biāo):把spring-boot項(xiàng)目按照平常的web項(xiàng)目一樣發(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é)點(diǎn),在其中添加如下代碼:
<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. 修改啟動(dòng)類,并重寫初始化方法
我們平常用main方法啟動(dòng)的方式,都有一個(gè)App的啟動(dòng)類,代碼如下:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
直接讓啟動(dòng)類繼承SpringBootServletInitializer,并覆蓋configure()方法:
@SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意這里要指向原先用main方法執(zhí)行的Application啟動(dòng)類 return builder.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
5. 打包部署
IDEA上方工具欄:Run->Edit Configurations
打開配置界面,左邊"+"號(hào)->Tomcat Server->Local
完成后如下所示
然后在Deployment中點(diǎn)擊"+"號(hào),選擇client:war,這樣每次server啟動(dòng)的時(shí)候都會(huì)去打包一次war包(個(gè)人理解),然后去運(yùn)行war包。
然后保存就可以了,然后啟動(dòng)項(xiàng)目就運(yùn)行起來了。
到此這篇關(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啟動(dòng)web項(xiàng)目的圖文教程
- 解決IDEA配置tomcat啟動(dòng)報(bào)錯(cuò)問題
- IDEA 2020 配置Tomcat服務(wù)器的詳細(xì)步驟
- Idea配置maven-tomcat-plugin插件實(shí)現(xiàn)項(xiàng)目部署
- intellij idea tomcat熱部署配置教程
- IntelliJ IDEA Tomcat配置詳解(圖文)
- IntelliJ?IDEA中配置Tomcat超詳細(xì)教程
相關(guān)文章
簡單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了簡單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Spring中ClassPathXmlApplicationContext類的使用詳解
這篇文章主要介紹了Spring中ClassPathXmlApplicationContext類的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01解決springboot集成swagger碰到的坑(報(bào)404)
這篇文章主要介紹了解決springboot集成swagger碰到的坑(報(bào)404),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06@MapperScan掃描包里混有@Service等問題如何解決
這篇文章主要介紹了@MapperScan掃描包里混有@Service等問題如何解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03java工廠實(shí)例BeanFactoryPostProcessor和BeanPostProcessor區(qū)別分析
這篇文章主要為大家介紹了BeanFactoryPostProcessor和BeanPostProcessor區(qū)別示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07SpringBoot異步調(diào)用方法實(shí)現(xiàn)場景代碼實(shí)例
這篇文章主要介紹了SpringBoot異步調(diào)用方法實(shí)現(xiàn)場景代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04java8中的Collectors.groupingBy用法詳解
這篇文章主要介紹了java8中的Collectors.groupingBy用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03