1

我们正在尝试从我们的war文件中取出特定于环境的配置设置,因此我们可以将相同的war文件部署到dev/test/prod tomcat服务器,而不必更改war配置文件的内容。

当我将用于数据库连接的 META-INF/context.xml 移动到 conf/server.xml 时,数据库连接不再有效,出现以下错误,有人知道为什么会这样吗?

服务器.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/ 中)

4

2 回答 2

4

终于解决了,tomcat文档有点误导。你可以把你的内容META-INF/context.xml直接放进去$TOMCAT_HOME/conf/context.xml,它工作得很好。

于 2011-04-13T23:38:05.123 回答
0

可能缺少一个<ResourceLink>in context.xml (在 Web 应用程序的META-INF/context.xml或 in 中$TOMCAT_HOME/conf/context.xml,如下所示:

        <ResourceLink name="jdbc/mydb"
              type="javax.sql.DataSource"
              global="jdbc/mydb"/> 
于 2012-11-25T12:06:17.960 回答