freemarker生成模板在windows下正常运行而在linux下报错数组越界

我需要使用freemarker生成html文件,在windows系统下能够正常运行,但是在linux系统下报错数组越界。

下面是代码:

    public boolean generateHotArticleFreeMarker(PageData pd) throws Exception {
        Configuration configuration = freeMarkerConfigurer.getConfiguration();
        Template template = configuration.getTemplate("hotarticle.ftl");
        PageData map = new PageData();

        Result result = hotArticleService.getHotArticleList(pd);
        map.put("totalPage", result.getTotalPage());
        map.put("currentPage", result.getCurrentPage());
        map.put("rows", result.getRows().size() > 0 ? result.getRows() : "");

        List<TbCategory> categoryList = categoryService.getCategoryList();
        map.put("categoryList", categoryList);

        map.put("resultPd", pd);
        FileWriter out = new FileWriter(new File(FREEMARKER_PATH + pd.getString("id") + ".html"));
        template.process(map, out);

        out.close();
        return true;
    }

在执行到template.process(map, out);这一行时候报错:

 java.lang.ArrayIndexOutOfBoundsException: 415315061
    at java.util.HashMap.putForCreate(HashMap.java:541)
    at java.util.HashMap.putAllForCreate(HashMap.java:555)
    at java.util.HashMap.clone(HashMap.java:796)
    at freemarker.template.SimpleHash.copyMap(SimpleHash.java:153)
    at freemarker.template.SimpleHash.<init>(SimpleHash.java:133)
    at freemarker.template.DefaultObjectWrapper.wrap(DefaultObjectWrapper.java:230)
    at freemarker.template.Template.createProcessingEnvironment(Template.java:475)
    at freemarker.template.Template.process(Template.java:382)
    at com.goodlymoon.portal.service.freemarker.HtmlFreeMarker.generateHotArticleFreeMarker(HtmlFreeMarker.java:94)
    at com.goodlymoon.portal.service.impl.HotArticleServiceImpl.saveHotArticle(HotArticleServiceImpl.java:98)
    at com.goodlymoon.portal.service.impl.HotArticleServiceImpl.getWinXinHotArticle(HotArticleServiceImpl.java:155)
    at com.goodlymoon.portal.service.impl.HotArticleServiceImpl$$FastClassBySpringCGLIB$$19625a23.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
    at com.goodlymoon.portal.service.impl.HotArticleServiceImpl$$EnhancerBySpringCGLIB$$7c74333.getWinXinHotArticle(<generated>)
    at com.goodlymoon.portal.service.timer.QuartzTask$HotArticleTask.run(QuartzTask.java:97)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

有没有大神帮忙看看有什么好的解决办法吗?

我觉得路径是没有问题的,因为在指定的文件夹下生成了文件,只是没有写入内容,附图片
图片说明

1
扫码支付0.1元 ×
其他相关推荐
iText Freemarker模板生成导出PDF及部署到Linux
1.工程结构2.maven &amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;javax.servlet&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;servlet-api&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;2.5&amp;lt;/ve
FreeMarker 生成合同
在实际工作中遇到过生成合同模版的问题,这里解决方案之一吧: 1,首先通过工具把word 合同生成 xml 文档  ,直接另存为 XML 格式文档即可。然后保存为 .ftl 模版 2.  使用工具查询要替换更新的内容         3. 对模版的内容进行替换更新,本实例对生成 html2pdf 文档 还可优化  具体可参考 html2PDF 文章内容 代码:     1. 覆盖合同 @
使用freemarker按模板导出带表格word文档
一.制作模板    1.将word文档制作成以下样式,需要替换的内容放占位符,并按照占位符名字替换数据。表格里,使用RR.XXX的形式的占位符。RR表示当前行对象的名字,XXX相当于对象的属性名。写后台的时候,根据这些名将数据存为map,即名字为键值。例子如下:    2.将word另存为xml格式,这里因为项目需要,我将word保存为.xml 2003。然后将xml文件以标签的形式打开,这里我使...
使用freemarker生成复杂的excel表格
首先这个idea和做法是来自于这位大哥的 http://blog.csdn.net/u010722643/article/details/41732607 我在公司的开发上运用了这一套,然后+上了自己的一些内容,所以希望大家如果要学习或了解原理的话,还是看看这位大哥的原文,蛮不错的一篇文章,以下内容主要从实操为主。要实现freemarker的模板导出,是需要把excel文件转化成模板文件,一种fre
freemarker根据word模板生成word文档中遇到的问题
freemarker根据word模板生成word文档中遇到的问题 以下问题背景依据下篇文章 1、freemarkers skip assertNonNull InvalidReferenceException 描述:${varable} 表达式里面varable值为空时,会报错,这是freemarker为了防止其他潜在的错误而定的规则,这里的解决办法是: ${varable!}
关于Freemarker模板报错的问题
模板引擎用的是Freemarkker,最近在html页面使用格式化样式时,发现会提示#include标签无效的信息。整个页面显示不出来。 后来发现是因为格式化的div中包含标签。因为#include是freemarker的标签,eclipse只能识别html标签,就会提示无效标签的警告,不影响实际使用。因此放弃格式化包含此标签的div即可。
用freemarker导出excel时,打开报加载期间出现问题
问题描述: Excel07打开Excel就弹窗加载期间出现问题,用WPS打开无误,手机端打开效果如下: 分析原因: 报错信息显示c:/user...考虑可能是写入的格式和表格固有格式冲突,用WPS能打开而07打不开,说明可能是兼容性和版本的问题,又做了尝试,当数据量为2条时,写入无误,3条及以上就报错,思考可能是Excel的表模板有问题 结论: 经过尝试对比发现,是表xml模板问题,由于...
关于freemarker生成Excel的报错问题解决
这一段在用freemarker生成Excel的时候出现了一点问题,关于怎样生成 Excel我就不在这里详解了,网上一抓一大把。 生成的Excel用WPS打开是完全没有问题 的 ,但用office打开就会出现下面的问题: 这里报了两个错, 1.工作表设置 2.表 然后我们到它所提示的文件目录下去查找日志 期间 打开“工具”-->“文件夹选项”-->“查看” 如
自定义MBG:Mybatis-Generator使用FreeMarker进行代码生成
在最初的了解中,mybatis官方是有MBG的,但网上一直说不好用。于是网络上有各种开源MBG,各有优劣。基本上难以满足一些自定义的需求。 在百度摸索几天后,我决定自定义一个符合自己项目的generator,使用FreeMarker模板引擎,生成实体,mapper接口,MapperXml,Service,ServiceImpl,以及Controller 代...
java freemarker 通过ftl模板文件导出word文件发现在有中文地方出现在乱码,打开word文件提示xml错误解决办法
最近开发一个导出word模板文件在本机调整一直正常,但是在服务器下载下来的文件老提示xml错误,仔细查看发现出错的word文件以xml形式打开发现在在报错位置有乱码, 刚开始以为是word转xml是出现乱码,单独调试word转xml正常,那应该是向ftl文件中写入变量后以写到文件流中出现乱码。 import java.io.File; import java.io.FileNotFoundE
java利用Freemarker模板生成格式友好的doc文档(这种方式不支持docx)
近期做项目需要生成复杂的带格式的word文档,选择过poi和itext来文档,发现文档生成没问题,但是格式不好调,后来就想要利用freemarker模板来生成,效果还可以,今天就贴出来。 主要分为以下几步 整理一份排版友好的word文档 如: 修改word里面需要填充的文字或图片 利用$符号把要填充的内容换成具体的变量占位符 把修改后的word文档另存为xml 把生成的xml
Freemarker生成带图片的模板 注意事项
原理: Microsoft Office遵循OpenXml标准,即,可以用xml的方式描述一个word文档,这种格式可以被各office软件提供商识别;  Freemarker可以将数据绑定到.ftl模板中,将模板存储成.doc格式即可用Microsoft Office Word 打开 1、导出word中带有图片时,首先要创建一个带有图片的word模板 2、编辑好word模板内容后,进行...
freemarker 模版生成文件
网上找了点资料,自动生成html文件,下载jar包,创建共通方法,分装数据。调用生成。 import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; imp
FreeMarker的模板目录映射到非资源目录,工程目录下
FreeMarker默认的模板都是在static目录下,如果想要设置在工程路径下的其他文件夹,可以给FreeMarkerConfigurer添加preTemplateLoaders参数,如下:
Java Web项目中利用FreeMarker模板生成的word文档,其它格式文档同理,如pdf,txt,java,xml等等
利用FreeMarker模板生成的word文档,其它格式文档同理,如pdf,txt,java,xml等等 需要向项目中加入freemarker的JAR文件,可以通过下面的链接获得Freemarker的最新版本: http://freemarker.org/freemarkerdownload.html 实现思路如下: 1、把要生成的模板文件填入freemarker的占位字段
FreeMarker 模板生成 PDF电子凭证
一、场景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等。方便用户查看,下载,打印。目前常用的解决方案是,把相关数据信息,生成对应的pdf文件返回给用户。 二、IText5中文支持与iText-Html渲染 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或r...
基于Freemarker模板引擎的Java代码生成器
目录 一、前言 二、FreeMarker简介 三、实现原理 (一)编写模板文件 (二)配置FreeMarker (三)统一文件生成工具 (四)数据库操作 (五)封装填充数据 一、前言 对于Java开发人员来说,在做好框架整合进入开发阶段后,依然存在大量的重复工作,比如在Spring、SpringMVC、Mybatis架构下,我们需要构建Entity、Mapper、dao、ser...
freemarker根据模板生成word
freemarker根据模板生成word,freemarker根据模板生成word,freemarker根据模板生成word
Freemarker模板导出具有复杂样式的Excel(板子)
有时需要导出Excel格式特别复杂的文件,这时候用poi直接导出可能比较麻烦,并且可能很多需要现学,用FreeMarker可以很暴力解决这个问题,帮助我们只关注数据,而不用关注样式。 1.首先对Excel另存为xml,一定选择XML 2003 这里需要了解一下FreeMarker的语法。用notepad++之类的编辑器打开xml,然后将需要注入的数据用定义的变量来替代,多行就用list来代替等等...
程序在Debug下正常运行,在Release下现象出错。
         一般来说,出现如题所示的情况时,常常是某些变量没有初始化导致的。如果所有变量都初始化了依然没有解决,就要看一下CMakeLists.txt中对Debug和Release设置的区别。        在我的CMakeLists.txt中对2种模式的设置如下:set(CMAKE_CXX_FLAGS_DEBUG &quot;-O0 -Wall -g -ggdb $ENV{CXXFLAGS}&quot;) s...
使用FreeMarker生成Word出错的一点心得
这几天在维护一个导出word的一个功能,领导改了word模板,不得不重来一遍。也不过是刘欢歌中所言:“只不过是重头再来”。废话少说,直接进入主题。用了FreeMaker这么多天,也总结出不少规律。FreeMarker报错就是下面两种。 情景1: Expression hello is undefined on line 3, column 85440 in doc.ftl. The probl
word导出时freeMarker转义字符的处理
根据ftl模板导出word时,如果填充的字符含有特殊字符、&,那么导出的word是无法打开的。因为这些字符在导出word时被认为是ftl的标签,正常导出后再打开是会报错。如果以xml的方式打开,会发现所有内容都是完整的,唯独上面三个特殊字符出问题。 为了解决这个问题,首先我新建一个word,在里面填上上面三个特殊字符,然后保存为xml。在该xml中找到对应的字符,发现已经转义了  &lt; 对应
freemarker自动生成代码模板
最近需求中,根据数据库表的信息生成PO,DAO,还有sql语句,如果手写很是重复繁琐。然后又要用到mybaties,所以给我的任务就是自动生成PO类,DAO类和sql的xml文件。 首先分析了给我的最简单的需求样例, 1. 一个实体类对应数据库表的字段。 2. 一个DAO类,包括简单的有null insert,无null insert,update,getById,分页查询find,coun
freemarker 异常和错误显示
当使用 FreeMarker 做为模版引擎的时候,可能发生的异常包括: 配置异常:配置异常指的是 FreeMarker 初始化时发生的异常,例如错误的配置导致,该异常时由 FreeMarker 的 API 抛出来的。 模版加载异常:模版加载异常可能是模版不存在或者没有读权限,或者是解析模版时发生错误,例如模版语法错误等。 模版执行异常:模版执行异常是指模版已经成功的加载但在执行过程中由于
freemarker导出excel时office报错而wps不会[转]
原地址:https://blog.csdn.net/klchht/article/details/52218203由于excel模板是客户提供的,并且较复杂,所以采用freemarker导出会轻松很多。客户需要的模板如图:第一次用freemarker按照网上教程(我用的是WPS):参考资料1、先用excel画好模板然后另存为xml。这里用wps轻松搞定,用office则需要自己写xml模板然后映射...
Freemarker生成HTML模版页面
一 : 首先第一步 放freemark的jar包 <!-- freemarker模版jar --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.20<
freemarker生成静态页面中文乱码解决方案
最近做一个门户网站,页面要求静态化,就用freemarker的模板,输出静态页面。freemarker的配置什么的全部设置成UTF-8,本以为输出html正常了,结果查看静态页面里面中文全乱码,调试N久,最后换成gbk,乱码没有,好了。但是整体项目是UTF-8编码的,所以gbk基本排除。最后把生成的html用txt打开,正常无乱码。看来问题不是出在设置编码这块了,于是做了如下设置: freema
使用freemarker生成xml模板
今天在java交流群里有个人问我如何用freemarker生成xml模板文件,可以手动配置参数,于是我到网上百度了一下。发现有一位同行的博文写的很nice,于是我就照着他的代码敲了一遍,最后实现了,本想贴出他的uri的,但是找不到了。网上这样的例子很多,大家可以自己到网上看看,我的建议是一个问题多看几个解决方案,这样才能找到正确的或者是最优解。 其实要实现的功能就是简单的将红框中的内容简
FreeMarker导出WORD/PDF,特殊字符处理
        需要读取内容中,含有特殊字符,如:&amp;lt; &amp;gt; @ ! $ &amp;amp; 等等,可直接在模板中使用 &amp;lt;![CDATA[  ]]&amp;gt; 和 ?html 处理。即,word: &amp;lt;w:p wsp:rsidP=&quot;00786D87&quot; wsp:rsidR=&quot;00285B36&quot; wsp:rsidRDefault=&quot;00285B36&quot; wsp:rsidRPr=&quot;0078
Java + Freemarker 生成适合自己项目代码模板
前言 每个项目组甚至是一个公司的代码风格几乎都相同,其实每个需求下来,建完表之后,新建dao,service,和controller以及对应的实体类是一项非常简单又麻烦的事情,一不小心写错单词还要浪费半天时间去 找问题。通过固定的工具生成的代码是不会有这样的问题的。因此,在实际项目开发过程中,建立自己或者自己项目的代码生成工具能提高开发效率降低代码出错的可能性。而java+Freema...
java利用Freemarker模板生成格式友好的doc或者docx文档
之前写过一篇利用Freemarker模板生成doc的博客,不过那个博客有点缺陷,不支持生成docx格式的文档。所以,这里补充一篇,生成docx或doc格式的文档以具体的docx模板或者doc模板为主。这里以docx为例。 具体思路: 把docx文档修改为ZIP格式(修改.docx后缀名为.zip) 获取zip里的document.xml文档以及_rels文件夹下的document.xml.r...
freemarker生成xml,htmL,word等等模板入门案例
package com.freemarker; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.util.HashMap; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.Template; public class TestFreemark
基于Freemarker模板的代码生成器后台代码(controller,service,dao)模板文件
基于Freemarker模板的代码生成器后台(控制层,业务层,持久层)ftl模板文件
Freemaker 模板生成html文件带barcode4j条形码并转PDF
前面野了三篇博客,现在直接结合在一起做一个实例首先生成条形码并且放入html转换成pdf下载下来,将所有功能集合在一起 1.条形码String barcode=BarCodeUtil.create39Code(“A123456”);实现方法public static String create39Code(String code) { ByteArrayOutputStream b
用Freemarker制作代码生成器生成mybatis.xml和java代码
一、外键对象简单封装 @Setter @Getter public class AssociationObject { private String property; private String columnPrefix; private String javaType; } 二、类型的判断       用来 public class JudgeType { publ
FreeMarker入门 生成xml模板
第一次写这个,只是按着自己想的来写,没有什么思路。。。。 https://blog.csdn.net/kangcool_sn/article/details/85096386   先建一个Person对象,也可以不用,只是为了封装数据好处理   public class Person { private String name; private String age;...
freemarker根据word模板生成word的完整示例
template文件夹下放入xml模板,运行Test.java文件,可以生成word文档
freemarker模板导出带表格word详细教程
            一。整体环境:                              开发环境:java,eclipse            部署环境:tomcat7/jar包两种方式 二。功能需求:(数据需要导出成以下格式)   1.简单一点的文本类: 2.复杂一点的 三。准备工作: 先准备好Freemarker模版:步骤如下: 1.我们需要做的就是把需要导...
word文档从服务器导出(用freemarker模板导出)
该方法适合小的java程序,当用到javaWeb时发现导出的word在服务器上,而不是下载到客户端,接下来这篇文章是写从服务器上下载文件到本地,下载时浏览器弹出下载框,乱码在代码里已处理。注意,不要用ajax传参,因为ajax只能处理文本信息,不能处理二进制信息。
Java之利用Freemarker模板引擎实现代码生成器,提高效率
开心一笑【1.你以为我会眼睁睁的看着你去送死?我会闭着眼睛。2.给你讲个故事,从前有个笨蛋,他非常笨,别人问他问题他只会回答“没有”,这个故事你听过吗?】提出问题如何利用 Java + Freemarker 实现代码生成器???解决问题* 前言 *做业务开发的时候,经常要根据建立好的数据库表,生成相关的 Model , DTO , Service, Controller , DAO 等等。包括基本的
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 linux下python教程 windows学习大数据