遇到使用JNDI的老專案,該怎麼配置;
阿新 • • 發佈:2020-11-02
公司要對一個10多年的老專案進行改造,先給了原始碼在本地執行起來,用的是從來沒用過的JNDI連線資料庫。在此記錄一下:
tomcat 配置:
tomcat安裝目錄下:/lib資料夾新增一個oracle驅動包:ojdbc8.jar 或其他版本。
server.xml檔案<GlobalNamingResources>
標籤裡面增加:
<Resource auth="Container" driverClassName="oracle.jdbc.OracleDriver" name="car2" type="javax.sql.DataSource"
url="jdbc:oracle:thin:@localhost:8891:orcl"username="c##***" password="***" maxActive="20" maxIdle="10" maxWait="-1" />
content.xml檔案<Context>
標籤裡面增加:
<ResourceLink global="car2" name="car2" type="javax.sql.DataSource" />
其中的name屬性是自定義的,兩個檔案裡的name要對應上;
補充: 當專案的依賴包裡和tomcat本身的依賴包有重複的,會報錯:
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
這時候在content.xml 檔案<Context>
標籤裡面增加:
<Loader delegate="true" />
即可。