我们正在尝试从war文件中删除特定于环境的配置设置,因此我们可以将相同的war文件部署到dev / test / prod tomcat服务器中,而不必更改war配置文件的内容。
将数据库连接的META-INF / context.xml移到conf / server.xml时,数据库连接不再起作用,并出现以下错误,有人知道为什么会这样吗?
server.xml:
<GlobalNamingResources> .... <Resource url="jdbc:oracle:thin:@hostname:1521/something" username="username" name="jdbc/mydb" password="password" auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" maxActive="5" maxIdle="2" maxWait="10000" removeAbandoned="true" type="javax.sql.DataSource" /> </GlobalNamingResources>
错误如下:
INFO: Deploying web application directory ROOT Problem reading system configuration. Cannot create JDBC driver of class '' for connect URL 'null' (java.io.IOException: Cannot create JDBC driver of class '' for connect URL 'null') java.io.IOException: Cannot create JDBC driver of class '' for connect URL 'null' at au.edu.unimelb.helper.SettingManager.loadSettings(SettingManager.java:212) at au.edu.unimelb.helper.SettingManager.<init>(SettingManager.java:53)
(是的,odjbc6.jar文件位于$ TOMCAT_HOME / lib /中)
终于解决了,tomcat文档有些误导。您可以将内容META- INF/context.xml直接放入$TOMCAT_HOME/conf/context.xml,效果很好。
META- INF/context.xml
$TOMCAT_HOME/conf/context.xml