我用Freemarker模板编写了一个java程序,但它';显示不推荐的错误。而我';I’我不懂

我用Freemarker模板编写了一个java程序,但它';显示不推荐的错误。而我';I’我不懂,java,freemarker,Java,Freemarker,我已经用freemarker模板编写了一个java程序,但是当我试图编译/构建程序时,它显示了配置错误。一条消息显示配置已弃用。我使用jdk 8和jre 8,并使用EclipseNeon作为我的ide。请帮我执行这个程序 这可能是因为您在创建配置管理器时没有为其指定值。我在以下方面找到了一个例子: 配置cfg=新配置(配置。版本2\u 3\u 25) 显然,如果留空,它会选择默认值。然后,该默认值将调用一个取消种族划分的函数 你应该弄清楚你想要使用哪个版本的配置;可能是最新的稳定版本。发生这种情

我已经用freemarker模板编写了一个java程序,但是当我试图编译/构建程序时,它显示了配置错误。一条消息显示配置已弃用。我使用jdk 8和jre 8,并使用EclipseNeon作为我的ide。请帮我执行这个程序


这可能是因为您在创建配置管理器时没有为其指定值。我在以下方面找到了一个例子:

配置cfg=新配置(配置。版本2\u 3\u 25

显然,如果留空,它会选择默认值。然后,该默认值将调用一个取消种族划分的函数


你应该弄清楚你想要使用哪个版本的配置;可能是最新的稳定版本。

发生这种情况是因为配置()构造函数从版本2.3.21开始就被弃用
使用新的参数化构造函数配置(版本)实例化配置对象

根据freemarker API文档Version是一个类,用于指定您希望应用哪种freemarker版本的修复程序,这些修复程序不是100%向后兼容的

例如:假设我使用的是freemarker-2.3.28.jar,希望启用其所有向后兼容的错误修复/改进,然后创建如下配置对象

Configuration cofig=新配置(配置。版本2\u 3\u 28)


可以检查所有freemarker API版本。希望这有帮助:)

检查不推荐使用的方法/类的javadoc。它几乎肯定会为你指明改用什么的方向。用新版本更新你的Freemarker库
import java.io.*;
import java.util.*;
import freemarker.template.*;

public class HelloFreemarker {

    public static void main(String[] args)  
            throws IOException, TemplateException {
        Configuration cfg = new Configuration();
        cfg.setObjectWrapper(new DefaultObjectWrapper());
        cfg.setDirectoryForTemplateLoading(new File("."));
        Map<String, Object> model = new HashMap<String, Object>();
        model.put("name", "World");
        Template template = cfg.getTemplate("hello.ftl");
        template.process(model, 
        new OutputStreamWriter(System.out));
    }
}
 hello ${name}!