Java Freemarker配置问题(Maven编译失败)

Java Freemarker配置问题(Maven编译失败),java,maven,configuration,freemarker,Java,Maven,Configuration,Freemarker,我正在做一个使用freemarker的项目,我需要做这样的调用: messageContent.append(FreeMarkerTemplateUtils.processTemplateIntoString(freemarkerConfig.getConfiguration().getTemplate(“sampleTemplate.ftl”),model)) 但当我尝试做mvn清洁包时,我得到了 “无法访问freemarker.template.Configuration [错误]找不到fr

我正在做一个使用freemarker的项目,我需要做这样的调用:

messageContent.append(FreeMarkerTemplateUtils.processTemplateIntoString(freemarkerConfig.getConfiguration().getTemplate(“sampleTemplate.ftl”),model))

但当我尝试做mvn清洁包时,我得到了

“无法访问freemarker.template.Configuration [错误]找不到freemarker.template.Configuration的类文件”

当我尝试显式地创建一个配置对象
(Configuration config=new Configuration())
,Eclipse(正如预期的那样)建议我导入“freemarker.template.Configuration”。我导入了它,错误在Eclipse中消失了,但是当我再次尝试执行
mvn clean package
时,我得到了一个生成失败,即“package freemarker.template不存在”

我的pom文件有:


org.freemarker
自由标记
2.3.20
运行时
我还需要做什么吗?
提前谢谢

您使用了错误的依赖范围。
运行时
范围不用于编译。从文档中:

此范围表示编译时不需要依赖项,但执行时需要依赖项。它位于运行时和测试类路径中,但不在编译类路径中

因此,将范围更改为编译

<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.20</version>
    <scope>compile</scope>
</dependency>

org.freemarker

您使用了错误的依赖范围。
运行时
范围不用于编译。从文档中:

此范围表示编译时不需要依赖项,但执行时需要依赖项。它位于运行时和测试类路径中,但不在编译类路径中

因此,将范围更改为编译

<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.20</version>
    <scope>compile</scope>
</dependency>

org.freemarker


org.freemarker
自由标记
2.3.14
默认范围是compile


org.freemarker
自由标记
2.3.14
默认范围是compile