日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Intellij IDEA下一个Tomcat启动带多个虚拟目录和JDNI数据源应用的方法

發布時間:2025/5/22 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Intellij IDEA下一个Tomcat启动带多个虚拟目录和JDNI数据源应用的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

前言:

之前公司做的一個老項目代碼比較早,加上之前開發以實現功能為主,也沒有對編碼加以規范,開發中也有應屆畢業的小孩,所以代碼很爛。最近在重構過程中引出一些問題。

?

言歸正傳,場景是配置在Idea中的一個Tomcat中啟動多個配置在server.xml中的虛擬目錄應用

原來的開發環境是eclipse+Tomcat插件+Tomcat

server.xml中虛擬目錄的配置是這樣的

帶有數據源配置的Context

?

現在想改為idea+Tomcat實現

idea中的Tomcat的配置一般是這樣的

?

按照上述配置并且更改了server.xml中虛擬目錄的mac系統中文件路徑后發現,加載的第一個項目根本無法啟動。

?

嘗試一:

網上查資料找到一個說要勾選如下配置

Deploy applications configured in tomact instance

照做之,發現第一個應用可以加載了但是,JDNI的數據源獲取不到,郁悶;

什么原因呢,按理說虛擬目錄你都加載了怎么會獲取不到數據源呢,這就需要了解下,Tomcat在ide中加載機制了。

?

嘗試二:

參考如下文章,感謝開發者頭條和以下文章的作者。

?

IDE里的Tomcat是如何工作的

http://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=401107149&idx=1&sn=908bd8ba76b38417570056795626c163#rd

?

原來Intellij IDEA。在啟動Tomcat時,Log一開始就能看到類似于下面的內容:

IDEA是通過Tomcat的MBean,動態的向tomcat增加了一個Context,即一個應用。這樣直接指定了應用的路徑,訪問路徑等

?

也就是說idea是動態生成了一個context.xml 或者server.xml 而沒有用默認的server.xml中我們之前做的配置。了解到這點我做了如下嘗試;

找到其動態生成目錄的context.xml文件更改其虛擬目錄配置為我們需要的配置,驗證發現并不生效。

每次在idea中重啟Tomcat都將我們更改的配置覆蓋了。

這就郁悶了難道就沒有解決方案了嗎?

后面在stack overflow找到一個方案試了下

如下圖所示

?

增加CATALINA_BASE變量配置覆蓋idea中的默認配置指向我們的Tomcat目錄重新啟動

發現CATALINA_BASE已經變為我們自定義的路徑且項目可正常啟動。并且可正常獲取到server.xml中配置的數據源。

?

遺留問題:

1、重新部署添加war包時會將webapps中的應用路徑刪掉,導致運行時提示木有對應項目目錄,需要在webapps中手動添加目錄才可以正常啟動自動deployed

轉載于:https://my.oschina.net/zhaky/blog/756470

總結

以上是生活随笔為你收集整理的Intellij IDEA下一个Tomcat启动带多个虚拟目录和JDNI数据源应用的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。