我正在使用tomcat 7 java 7的项目上切换到Java 8 tomcat 8。

我重新编译了源,没有错误。

我的问题来自运行tomcat。

我无法使用此conf连接到资源:

<GlobalNamingResources>
    <Resource
            name="shared/jdbc/toto"
            auth="Container"
            type="javax.sql.DataSource"
            username="toto"
            password="toto"
            driverClassName="org.postgresql.Driver"
            url="jdbc:postgresql://syt-db:5432/toto"
            maxActive="4"
            maxIdle="2"/>
</GlobalNamingResources>

我收到此错误:
Cannot load JDBC driver class 'org.postgresql.Driver'
java.lang.ClassNotFoundException: org.postgresql.Driver

我添加了工厂,就像在互联网上看到的那样。
<GlobalNamingResources>
    <Resource
            name="shared/jdbc/toto"
            auth="Container"
            factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
            type="javax.sql.DataSourceFactory"
            username="toto"
            password="toto"
            driverClassName="org.postgresql.Driver"
            url="jdbc:postgresql://syt-db:5432/toto"
            maxActive="4"
            maxIdle="2"/>
</GlobalNamingResources>

并得到这样的错误:
AVERTISSEMENT [localhost-startStop-1] org.apache.naming.NamingContext.lookup Une erreur s est produite durant la résolution de la référence
java.lang.IllegalArgumentException: The local resource link [toto] that refers to global resource [shared/jdbc/toto] does not specify the required attribute type

我觉得现在它可以使用驱动程序,但配置仍然错误。

我的问题真的来自资源配置文件吗?还是应该专注于其他事情?

谢谢

最佳答案

我必须在应用程序的上下文中添加type =“javax.sql.DataSource”

 <ResourceLink
   name="jdbc/toto"
   global="shared/jdbc/toto"
   type="javax.sql.DataSource"
  />

您需要在资源定义中以及server.xml的上下文中编写类型。

09-26 20:42