2009-07-23 106 views
0

我在我的META-INF/Context.xml中设置了一个JDBC领域,如下所示,并且工作正常。 麻烦的是JDBC驱动程序现在有在$ CATALINA_HOME要放在/ lib目录/Tomcat 6.x JDBC领域,驱动程序问题的类路径

有没有什么办法可以让该领域从其他地方加载JDBC驱动程序,如WEB-INF/lib中/在我的webapp ?

META-INF/context.xml的

<?xml version="1.0" encoding="UTF-8"?> 
<Context> 
    <Realm className="org.apache.catalina.realm.JDBCRealm" 
    driverName="org.postgresql.Driver" 
    connectionURL="jdbc:postgresql://daemon/testdb" 
    userTable="users" userNameCol="userName" userCredCol="password" 
    connectionPassword="xxxxx" 
    connectionName="xxxxx" 
    userRoleTable="users" roleNameCol="role" 
    digest="MD5"/> 
</Context> 

回答

1

我敢肯定你不能这样做,没有。领域存在并且在任何应用程序的范围之外进行管理。考虑两个webapps被部署的情况,例如,与冲突的驱动程序。

如果您需要将您的JDBC驱动程序保存在您的WAR中,那么您还需要在那里执行安全管理,而不是依靠tomcat来为您执行安全管理。

0

我不是说我会这样做,但我相信你可以。检查catalina.sh(或.bat),在那里设置类路径,如果您将Webapp中的驱动程序JAR添加到Tomcat类路径中,那么我不明白为什么您无法在Realm中使用该驱动程序。我从来没有试过这个,但我不明白为什么它不起作用。

0

试过这个,它没有wrk。即使引用的jar出现在项目的WEB_INF/lib文件夹下,Tomcat也会为引用的jar声明ClassNotFound。