Java 升级到Tomcat 8时ClassNotFoundException

Java 升级到Tomcat 8时ClassNotFoundException,java,tomcat,netbeans,jdbc-pool,Java,Tomcat,Netbeans,Jdbc Pool,我最近将我的NetBeans IDE从v7.3升级到v8,在连接到DB时,我的应用程序突然在服务器启动时抛出异常。这两个版本的IDE之间唯一的区别是后者使用的是Tomcat8 异常日志: META-INF/context.xml 请指导。默认工厂的名称在Tomcat 7和Tomcat 8之间更改。一些属性名称也发生了变化。这都是在Tomcat8中从DBCP1.x切换到DBCP2.x的结果。在META-INF/context.xml文件中需要以下内容: <!-- PostgreSQL D

我最近将我的NetBeans IDE从v7.3升级到v8,在连接到DB时,我的应用程序突然在服务器启动时抛出异常。这两个版本的IDE之间唯一的区别是后者使用的是Tomcat8

异常日志: META-INF/context.xml


请指导。

默认工厂的名称在Tomcat 7和Tomcat 8之间更改。一些属性名称也发生了变化。这都是在Tomcat8中从DBCP1.x切换到DBCP2.x的结果。在META-INF/context.xml文件中需要以下内容:

<!-- PostgreSQL Datasource -->
<Resource auth="Container"
          driverClassName="org.postgresql.Driver"
          factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"
          maxTotal="50"
          maxIdle="10"
          maxWaitMillis="-1"
          name="jdbc/mydb"
          type="javax.sql.DataSource"
          url="jdbc:postgresql://myorg.corp.net:5432/mydb"
          username="abc"
          password="def" />

tomcat8
lib文件夹中需要
tomcat-dbcp-8.0.0-RC1.jar
commons dbcp.jar
中的
org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory
的包结构与其他
tomcat
版本不同。

按照建议进行了更改,但没有起作用。仍然得到相同的exception.Grrr。新工厂包名称的打字错误现已修复。已更改工厂包名称,但也不起作用。从NetBeans8降级为NetBeans7,然后重新开始工作。Tomcat8似乎有一些问题。原因是:java.lang.ClassNotFoundException:org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory:(@AlfredoM听起来像是需要将commons-dcps2-x.x.x.jar添加到类路径中。我已将其放在
lib
文件夹中。请参阅
<!-- PostgreSQL Datasource -->
<Resource auth="Container" driverClassName="org.postgresql.Driver" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" maxActive="50" maxIdle="10" maxWait="-1" name="jdbc/mydb" type="javax.sql.DataSource" url="jdbc:postgresql://myorg.corp.net:5432/mydb" username="abc" password="def" />
<!-- PostgreSQL Datasource -->
<Resource auth="Container"
          driverClassName="org.postgresql.Driver"
          factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"
          maxTotal="50"
          maxIdle="10"
          maxWaitMillis="-1"
          name="jdbc/mydb"
          type="javax.sql.DataSource"
          url="jdbc:postgresql://myorg.corp.net:5432/mydb"
          username="abc"
          password="def" />
maxActive -> maxTotal
maxWait   -> maxWaitMillis