我试图在jasper服务器上部署一个报表。我遵循了以下教程:http://randomallsorts.blogspot.de/2009/12/jasper-reports-how-to-deploy-report-to.html. 但最后,当我试图在管理界面查看我的报告时,我收到了一个很长的错误,我不明白。
服务器遇到错误。请原谅给您带来的不便。错误消息
com.mysql.jdbc.driver错误跟踪
com.jaspersoft.jasperserver.api.jsexceptionwrapper:java.lang.classnotfoundexception:com.mysql.jdbc.driver位于org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader)。java:1516)在org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader。java:1361)位于java.lang.class.forname0(本机方法)java.lang.class.forname(类。java:247)在com.jaspersoft.jasperserver.api.common.service.impl.jdbcdriverserviceimpl.loaddriverfromexistingclassloaders(jdbcdriverserviceimpl。java:535)在com.jaspersoft.jasperserver.api.common.service.impl.jdbcdriverserviceimpl.register(jdbcdriverserviceimpl。java:130)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)位于sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:39)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:25)在java.lang.reflect.method.invoke(方法。java:597)在org.springframework.aop.support.aoputils.invokejoinpointusingreflection(aoputils。java:318)在org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy。java:196)在$proxy35注册(未知源)jaspersoft.jasperserver.api.engine.jasperreports.service.impl.dbcpdatasourcefactory.registerdriver(dbcpdatasourcefactory)。java:58)位于com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.dbcpdatasourcefactory.createpooleddatasource(dbcpdatasourcefactory)。java:50)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.jdbcreportdatasourceservicefactory.getpooldatasource(jdbcreportdatasourceservicefactory)。java:145)位于com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.jdbcreportdatasourceservicefactory.createservice(jdbcreportdatasourceservicefactory)。java:128)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinpl.createdatasourceservice(engineserviceinpl。java:1763)在com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceimpl.fillreport(engineserviceimpl。java:1651)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinmpl$reportfill.runreport(engineserviceinmpl。java:1022)在com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinmpl$reportrunnable.run(engineserviceinmpl。java:897)在java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor。java:886)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:908)在java.lang.thread.run(线程。java:619)错误消息
java.lang.classnotfoundexception:com.mysql.jdbc.driver错误跟踪
java.lang.classnotfoundexception:com.mysql.jdbc.driver,位于org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader)。java:1516)在org.apache.catalina.loader.webappclassloader.loadclass(webappclassloader。java:1361)在java.lang.class.forname0(本机方法)在java.lang.class.forname(类。java:247)在jaspersoft.jasperserver.api.common.service.impl.jdbcdriverserviceimpl.loaddriverfromexistingclassloaders(jdbcdriverserviceimpl。java:535)在com.jaspersoft.jasperserver.api.common.service.impl.jdbcdriverserviceimpl.register(jdbcdriverserviceimpl。java:130)位于sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl。java:39)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:25)在java.lang.reflect.method.invoke(方法。java:597)在org.springframework.aop.support.aoputils.invokejoinpointusingreflection(aoputils。java:318)在org.springframework.aop.framework.jdkdynamicaopproxy.invoke(jdkdynamicaopproxy。java:196)$proxy35.register(未知源),位于com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.dbcpdatasourcefactory.registerdriver(dbcpdatasourcefactory)。java:58)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.dbcpdatasourcefactory.createpooleddatasource(dbcpdatasourcefactory)。java:50)位于com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.jdbcreportdatasourceservicefactory.getpooldatasource(jdbcreportdatasourceservicefactory)。java:145)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.jdbcreportdatasourceservicefactory.createservice(jdbcreportdatasourceservicefactory)。java:128)在com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinpl.createdatasourceservice(engineserviceinpl。java:1763)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinpl.fillreport(engineserviceinpl。java:1651)在com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinmpl$reportfill.runreport(engineserviceinmpl。java:1022)在jaspersoft.jasperserver.api.engine.jasperreports.service.impl.engineserviceinmpl$reportrunnable.run(engineserviceinmpl。java:897)位于java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor。java:886)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:908)在java.lang.thread.run(线程。java:619)
有人知道那里可能出了什么问题吗?对不起,我真的是个业余体育爱好者。
2条答案
按热度按时间iaqfqrcu1#
尝试使用此指南。。似乎找不到mysql驱动程序来连接。
http://jasperserver.sourceforge.net/docs/3-5-0/jasperserver-user-guide.pdf
ccgok5k52#
首先,应该在jasper服务器上安装驱动程序。
转到具有管理员角色的用户的web界面
在树视图中,可以创建一个文件夹来保存数据源
在该文件夹中,右键单击并添加数据源
给它起个有意义的名字,然后上传com.mysql.jdbc.driver(如果还没有)。
注意:如果您手动安装了war,那么您可能已经安装了驱动程序。
在此处下载驱动程序http://dev.mysql.com/downloads/connector/j/
检查jdbc url。应该是这样的
jdbc:mysql://your_host/your_database
小技巧是检查mysql服务器中的max allow packet设置,并在jdbc url中相应地设置它。在mysql驱动程序上,使用以下命令进行检查:SHOW VARIABLES LIKE 'max_allowed_packet';
然后将url设置为:jdbc:mysql://your_host/your_database?maxAllowedPacket=WHATEVER_SIZE_YOU_GOT
检查用户名、密码和时区并测试连接。在web界面上编辑报表,并将数据源设置为此数据源。
通过web界面或ireport designer上载新报表时,请指定此数据源。
祝你好运,希望它能解决你的问题:)