运行时遇到无法初始化主类的错误

运行时遇到无法初始化主类的错误

# 具体遇到的问题
出现如下错误:


# 报错信息的截图
http://img1.sycdn.imooc.com//climg/5fa0eba80966466407610061.jpg

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import freemarker.core.ParseException;
import freemarker.template.Configuration;
import freemarker.template.MalformedTemplateNameException;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateNotFoundException;
public class FreemarkerSample1 {
    public static void main(String[] args) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException {
        // 1.加载模板
        // 创建核心配置对象
        Configuration config = new Configuration(Configuration.VERSION_2_3_30);
        //设置加载的目录
        config.setClassForTemplateLoading(FreemarkerSample1.class, "");
        //得到模板对象
        Template t = config.getTemplate("sample1.ftl");
        // 2.创建数据
        Map<String,Object> data = new HashMap<String,Object>();
        data.put("site", "百度");
        data.put("url", "http://www.baidu.com");
        //3.产出输出
        t.process(data, new OutputStreamWriter(System.out));
    }


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,如果昨天运行没有问题,说明同学的代码是没问题的;

可能是由于eclipse加载jar包失败,同学将lib包下的jar包删除后重新引入并让其加载试试

http://img1.sycdn.imooc.com//climg/5fa0f9e8092f842d04770326.jpg

如果还有问题,建议同学新建一个项目,将代码复制过去再试试。

​祝:学习愉快~


好帮手慕阿园 2020-11-03 14:05:09

同学你好,根据报错信息表示没有找到Template模板,同学是否引入了freemarker的jar包;如果引入了,建议同学检查一下,在进行加载这个freemarker模板时,sample1.ftl是否在当前包下,如果sample1.ftl放在了当前包下,则第二个参数是空的字符串。

具体如下:

http://img1.sycdn.imooc.com//climg/5fa0f26709c3317603370139.jpg

http://img1.sycdn.imooc.com//climg/5fa0f2770981971505310126.jpg

如果模板与加载的类不在一个包下,第二个参数可以直接编写所在路径就可以了。

例如:sample2.ftl在com.imooc.freemarker.entity包下,则第二个参数的路径就需要编写为,/com/imooc/freemarker/entity/的路径。具体如下:

http://img1.sycdn.imooc.com//climg/5fa0f29d09b3d3b102560065.jpg

http://img1.sycdn.imooc.com//climg/5fa0f2ab09b8763608730065.jpg

祝学习愉快

  • 提问者 慕斯卡9116315 #1
    老师你好,sample1.ftl是在当前包下。这个错误在昨天并没有出现,今天重新打开eclipse后才出现。
    2020-11-03 14:09:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师