我正在使用RESTful Web 项目(Netbeans 中的 Maven 项目)Spring MVC 4.3.4并Jasperreports 6.3.1在其中工作。当我在控制器中获取对象的数组列表时,会出现此错误:
Grave: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.forType(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter;
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectWriter.forType(Lcom/fasterxml/jackson/databind/JavaType;)Lcom/fasterxml/jackson/databind/ObjectWriter;
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at …Run Code Online (Sandbox Code Playgroud) 有没有人在iReport 5.6 中尝试打开jrxml文件时遇到过这个错误?
属性 'hTextAlign' 不允许出现在元素 'style' 中
我最近将我的项目的 Jasper Reports 库从3.7.6升级到6.0.0。我终于可以构建 Maven,并且报告运行得很好。但是,setParameter()函数似乎在各个版本之间已被弃用,并且我不确定如何重构我的代码以适应这种情况。
private static void exportMultipleToCSV(Collection<JasperPrint> jasperPrints, OutputStream baos) throws JRException {
JRCsvExporter csvExporter = new JRCsvExporter();
csvExporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrints);
csvExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
csvExporter.setParameter(JRTextExporterParameter.PAGE_HEIGHT, Integer.valueOf(1500000));
csvExporter.setParameter(JRTextExporterParameter.PAGE_WIDTH, Integer.valueOf(40000000));
csvExporter.setParameter(JRTextExporterParameter.CHARACTER_WIDTH, Integer.valueOf(4));
csvExporter.setParameter(JRTextExporterParameter.CHARACTER_HEIGHT, Integer.valueOf(15));
csvExporter.exportReport();
}
Run Code Online (Sandbox Code Playgroud)
我浏览了SourceForge页面,可以看到它已被ExporterInput、ExporterConfiguration和ExporterOutput取代,但我不确定如何一起利用它们来实现所需的输出。
我的pom文件:
<!-- Jasper Dependency -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.6.0</version>
</dependency>
<!-- Jasper fonts dependency -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
运行后:
镜像在 docker hub 上构建和推送。然后使用命令:docker stack deploy .. 我运行 4 个 docker 容器(数据库、前端、后端和网络)。当我尝试使用生成 pdf API 时,出现如下错误:
2018-10-25 17:46:18.997 DEBUG 1 --- [ XNIO-2 task-14] n.s.j.e.fonts.FontExtensionsRegistry : Loading font extensions from net/sf/jasperreports/fonts/fonts.xml
2018-10-25 17:46:18.999 DEBUG 1 --- [ XNIO-2 task-14] n.s.j.e.fonts.SimpleFontExtensionHelper : Parsing font family DejaVu Sans
2018-10-25 17:46:18.999 DEBUG 1 --- …Run Code Online (Sandbox Code Playgroud) 我导出了一个用iReport创建的.jrprint文件.现在我想预览报告并最终打印出来,我该怎么做?
我正在尝试:
JRBeanCollectionDataSource ds=new JRBeanCollectionDataSource(list);
JasperPrint jrprint=JasperFillManager.fillReport("report.jrprint", null, ds);
Run Code Online (Sandbox Code Playgroud)
但我有这个例外
java.lang.ClassCastException: net.sf.jasperreports.engine.JasperPrint cannot be cast to net.sf.jasperreports.engine.JasperReport
Run Code Online (Sandbox Code Playgroud) 我只开发了一个报告(没有和独立于任何db数据源)iText.我知道JasperReports这很容易.但在我的情况下,我只是将报告存储在pdf文件中,或者我使用acrobat for java beans向用户显示报告.现在我需要更改我的实现代码以在Web浏览器中显示此报告,而不是保存在文件中.
我怎么能这样做?
有没有办法做这个主题?
我的意思是理论上有可能吗?任何JasperReports Server可用的插头?
或者也许有一些其他的报告工具可以做类似的工作JasperReports Server?
在谷歌上找不到任何信息.
我有一个不同的问题...我用谷歌搜索了一下,但没有找到任何关于我的问题的信息,所以我在这里问...我有一个对象 JasperPrint,我在其中生成文档...问题是我需要创建一个来自此 JasperPrint 的 java.io.File 而不将文件保存在计算机上。
我需要做的是:通过电子邮件发送文件。并且这个文件必须由jasperreport生成。我无法将流保存在机器上以便稍后删除它...所以我需要在运行时将文件保存在内存中或类似的东西...
所以...我有我的对象 jasperprint 并且需要从中获取一个 java.io.File...有人知道我能做什么?
安德鲁...无法在评论中回答它,所以我在这里写...在 javax.mail 中我这样做了:
File fileAttachment = myfile;
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(fileAttachment);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileAttachment.getName());
multipart.addBodyPart(messageBodyPart);
Run Code Online (Sandbox Code Playgroud)
当我从我的机器上向他传递一个文件时它会工作...所以我认为当我使用 java.io.File 时它会工作即使它只在内存中...
我正在编写一个JasperReports程序,我希望将查询外部化到属性文件。
我将查询作为字符串注入到我的 Java 程序中。
在jrxml文件中我有以下语句:
<parameter name="mySqlQuery" class="java.lang.String"/>
<queryString>
<![CDATA[$P{mySqlQuery}]]>
</queryString>
Run Code Online (Sandbox Code Playgroud)
Java程序有以下内容:
hashmap.put("mySqlQuery", this.mySqlQuery);
JasperReport jasperReportMyClass = JasperCompileManager.compileReport(this.reportMyClass);
JasperPrint jasperPrintMyClass = JasperFillManager.fillReport(jasperReportMyClass, hashmap, con);
jprintList.add(jasperPrintMyClass);
Run Code Online (Sandbox Code Playgroud)
然后我将其导出到 Excel。
如果我直接在JRXML queryString标记中硬编码相同的查询,则效果很好。
谢谢阅读!
我正在解析文件数据并加载到数据库,这个解析应该每5分钟重复一次.是否有任何ETL支持自动作业调度的Java 框架.
我接触过Talend.但是没有自动作业调度.我的目的是安排每隔5分钟解析jar文件.我不能依赖于crontab或Windows调度程序.任何人都可以建议我有任何ETL具有自动作业调度功能的开源Java 框架.
谢谢和问候,Gopal
java ×8
browser ×1
cassandra ×1
docker ×1
etl ×1
fonts ×1
frameworks ×1
ireport ×1
itext ×1
jackson ×1
jasperserver ×1
maven ×1
pdf ×1
printing ×1
spring-mvc ×1