【问题标题】:Tomcat 6.x JDBC realm, classpath for driver problemTomcat 6.x JDBC 领域,驱动程序问题的类路径
【发布时间】:2010-11-13 09:48:55
【问题描述】:

我已经在我的 META-INF/Context.xml 中设置了一个 JDBC 领域,如下所示,并且可以正常工作。 问题是 JDBC 驱动程序现在必须放在 $CATALINA_HOME/lib/ 下

有什么方法可以让我从其他地方加载 jdbc 驱动程序,例如我的 webapp 中的 WEB-INF/lib/ ?

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>

【问题讨论】:

    标签: authentication configuration tomcat


    【解决方案1】:

    我很确定你不能那样做,不。领域存在并在任何应用程序范围之外进行管理。考虑部署两个 web 应用程序的情况,例如,驱动程序冲突。

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

    【讨论】:

      【解决方案2】:

      我不是说我会这样做,但我相信你可以。检查 catalina.sh(或 .bat),在那里他们设置了类路径,如果您将 webapp 中的驱动程序 JAR 添加到 Tomcat 类路径,那么我不明白为什么您不能在您的领域中使用驱动程序。我从未尝试过,但我不明白为什么它不起作用。

      【讨论】:

        【解决方案3】:

        试过了,还是不行。 Tomcat 抱怨引用的 jar 的 ClassNotFound,即使引用的 jar 存在于项目的 WEB_INF/lib 文件夹下。

        【讨论】:

          猜你喜欢
          • 2013-02-17
          • 1970-01-01
          • 1970-01-01
          • 2016-07-21
          • 2018-04-05
          • 2012-03-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多