我正在使用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的上下文中编写类型。