遇到使用JNDI的老项目,该怎么配置;
公司要对一个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" />
即可。

浙公网安备 33010602011771号