【发布时间】:2015-09-10 11:19:25
【问题描述】:
我在 Birt 4.4.0 中创建了一个报告,现在想在我的 tomcat 8.0.26 的 birt 运行时中查看该报告。 该报表连接到 Oracle 数据库并在报表设计器中正常工作,但是当我在 birt 运行时执行它时,出现以下异常:
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs:
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs:
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SCHWERWIEGEND: Unable to open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: oracle.jdbc.driver.OracleDriver.
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs:
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs:
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SCHWERWIEGEND: Unable to open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: oracle.jdbc.driver.OracleDriver.
我把jdbc .jar 放在tomcat 的lib 文件夹和birt 运行时的WEB-INF/lib 文件夹中。 此外,该报告使用连接配置文件。
希望有人有想法。
【问题讨论】:
-
你把jar放入应用后重启Tomcat了吗?您的 jdbc.jar 是否包含名为
oracle.jdbc.driver.OracleDriver的类? (查看 jar 文件的内容:将其重命名为 .zip 并解压缩) -
我多次重启tomcat,是的。但是不,.jar 中没有这样的文件。你知道为什么会这样吗?怎么办?为什么它在报表设计器中起作用..?
-
我不知道你的
jdbc.jar是什么,但Oracle JDBC 驱动程序通常在ojdbcX.jar中(其中X 是最小的Java 版本)。请参阅 oracle.com/technetwork/database/features/jdbc/… - 下载一个并将其放入您的WEB-INF/lib文件夹中。 -
它实际上是一个 ojdbc jar,但是该死的。 Jozef Chocholacek,您刚刚提醒我,在报表设计器中,我有几个类似的 jar 链接。我删除了所有这些,并再次添加了应该工作的那个。当然它确实......可能是罐子之间的一些冲突。我的意思是,报告仍然不起作用 - 我得到了 OutOfMemoryException,但我希望我能自己解决。还是谢谢你!