运行时遇到无法初始化主类的错误
# 具体遇到的问题
出现如下错误:
# 报错信息的截图
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));
}
13
收起
正在回答
2回答
同学你好,如果昨天运行没有问题,说明同学的代码是没问题的;
可能是由于eclipse加载jar包失败,同学将lib包下的jar包删除后重新引入并让其加载试试
如
如果还有问题,建议同学新建一个项目,将代码复制过去再试试。
祝:学习愉快~
好帮手慕阿园
2020-11-03 14:05:09
同学你好,根据报错信息表示没有找到Template模板,同学是否引入了freemarker的jar包;如果引入了,建议同学检查一下,在进行加载这个freemarker模板时,sample1.ftl是否在当前包下,如果sample1.ftl放在了当前包下,则第二个参数是空的字符串。
具体如下:
如果模板与加载的类不在一个包下,第二个参数可以直接编写所在路径就可以了。
例如:sample2.ftl在com.imooc.freemarker.entity包下,则第二个参数的路径就需要编写为,/com/imooc/freemarker/entity/的路径。具体如下:
祝学习愉快
java工程师2020版
- 参与学习 人
- 提交作业 9400 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星