位于$ CATALINA_HOME / conf / [enginename] / [hostname] /中的单个XML文件

时间:2013-02-26 12:12:44

标签: java tomcat configuration datasource context.xml

我正在使用tomcat 7开发java web应用程序 我希望在我的战争之外使用自定义名称context.xml文件。我在此文件中定义了数据库资源。

根据{{​​3}},我将context.xml.default文件放在CATALINA_HOME/conf/[enginename]/[hostname]/ directrory中,我可以获得数据库配置。

现在,我想重命名context.xml.default并放置与我的上下文路径匹配的自定义文件名。如果我这样做,我就不能再进行数据库配置了,我的应用程序会抛出异常:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

以下是context.xml.default文件的内容:

<Context
crossContext="true"
reloadable="true" >

 <Resource
    name="jdbc/myDS"
    auth="Container"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    factory="com...encription.util.EncryptedDataSourceFactory"
    logAbandoned="true"
    maxActive="30"
    maxIdle="10"
    maxWait="1000"
    password="encryptedPass"
    removeAbandoned="true"
    removeAbandonedTimeout="60"
    type="javax.sql.DataSource"
    url="jdbc:oracle:thin:@myIP:myPort:FRONT"
    username="username" />

2 个答案:

答案 0 :(得分:2)

我使用的配置是正确的,但问题是eclipse使用{catalina_base}/wtpwebapps目录来部署Web应用程序。

我在eclipse的服务器配置中使用webapps 更改了wtpwebapps文件夹,现在一切正常。

答案 1 :(得分:0)

错误可能是缺少JDBC驱动程序的结果。尝试将Oracle驱动程序放入%TOMCAT_HOME%/common/lib目录。

另一种可能性是,您在<NAME_OF_WEBAPP>.xml中缺少特定于Web应用程序的context.xml(名为conf/catalina/localhost)。