[报错解决]freemarker java.io.FileNotFoundException/TemplateNotFoundException: Template xxx not found.

记录:Exception in thread “main“ java.lang.NoClassDefFoundError: freemarker/template...【解决方案】 记录:Exception in thread “main“ java.lang.NoClassDefFoundError: freemarker/template...详细,实测有效。 阅读详情

java.io.FileNotFoundException: Template common/user_menu.ftl not found.

 最开始一直报fileNotFound,后来又报templateNotFound,看了很多文章刚开始一直没有解决。

根据提示,始终觉得是路径的问题,我的项目目录结构如下:

尝试升级了freemarker版本,仍然未解决

最初在resources目录下是没有common文件夹的。

public class FreeMarkerRender extends Render {
    private static final Logger LOGGER = LoggerFactory.getLogger(FreeMarkerRender.class);

    private static FreeMarkerRender freeMarkerRender;

    private static Configuration freemarkerConfiguration;

    static {
        try {
            FreeMarkerConfigurationFactoryBean freeMarkerConfigurationFactoryBean = new FreeMarkerConfigurationFactoryBean();
            freeMarkerConfigurationFactoryBean.setTemplateLoaderPath("classpath:/");
            freeMarkerConfigurationFactoryBean.setPreferFileSystemAccess(false);
            freemarkerConfiguration = freeMarkerConfigurationFactoryBean.createConfiguration();
            LOGGER.info("创建freemarkerConfiguration实例,为{}", freemarkerConfiguration);
        } catch (Exception ex) {
            LOGGER.error("init freemarkerConfiguration failure ", ex);
        }
    }

    private Map<String, Object> paramMap = Maps.newHashMap();

    public FreeMarkerRender addParam(String name, Object value) {
        paramMap.put(name, value);
        return this;
    }

    public static FreeMarkerRender newRender() {
        if (freeMarkerRender == null) {
            synchronized (FreeMarkerRender.class) {
                if (freeMarkerRender == null) {
                    freeMarkerRender = new FreeMarkerRender();
                }
            }
        }

        return freeMarkerRender;
    }

    @Override
    public String render(String view) {
        try {
            LOGGER.info("view: {}", view);
            LOGGER.info("获取template:{}", freemarkerConfiguration.getTemplate(view));
            LOGGER.info("参数:{}", paramMap);
            return processTemplateIntoString(freemarkerConfiguration.getTemplate(view), paramMap);
        } catch (Exception ex) {
            LOGGER.error("freemarker render view: {} failure ", view, ex);
            return null;
        }
    }
}
jav.addData("menuHtml", FreeMarkerRender.newRender()
                    .addParam("contentPath", request.getContextPath())
                    .addParam("path", path)
                    .addParam("userModuleList", userModuleList)
                    .addParam("parentList", parentList)
                    .render("common/user_menu.ftl"));

在项目启动的时候,会初始化freeMarkerConfigurationFactoryBean,会从TemplateLoaderPath加载template,最初我的path为

("classpath:/WEB-INF/template"),所以它会去这个路径找模板,但是不知道为什么一直找不到,在WEB-INF目录下面明明有对应的文件,路径也一致,但是就是提示找不到。

后来我把模板文件复制了一份到resources目录下面,编译后发现bin/WEB-INF/classes下面也有模板文件,推测这个文件应该是我刚刚复制到resources目录下面的模板

这个时候应该是去读这里的模板文件,把路径改成"classpath:/",顺利读取到该模板文件。

模板文件放在WEB-INF下面读不到,最好放在resources目录下。

生成对抗网络(GAN、DCGAN、ACGAN)-----学习笔记 生成对抗网络学习笔记 生成对抗网络有两个关键结构:生成模型、判别模型。 生成模型:输入是一个服从正态分布的N维向量,利用这个N维向量生成一张图片。 判别模型:对于生成模型输出的图像判别它是不是真的图像。 生成模型和判别模型的博弈关系在于:生成模型的目的是生成让判别模型无法判别真伪的图像,而判别模型的目的是判断输入图像的真伪。 结合代码来看生成对抗网络中,生成器和判别器的训练过程: 判别模型的训... 阅读详情

相关推荐

H5获取手机相机或相册图片两种方式-Android通过webview传递多张照片给H5

H5调用公共获取图片文件方法,在android手机端,H5主要依赖Webview,这边在webview声明并重写该方法onShowFileChooser使用工具类打开相机或相册,可以两种方式安卓原生方式或者利用第三方组件库方式选中图片,返回uri列表给H5H5收到uri照片列表,并且使用前端方式展示创造价值,乐哉分享!

m0_74823947的博客 3095

freemarker.template.TemplateNotFoundException: Template not found for name "*.ftl"

Freemarker 加载模板方法(SpringBoot环境) 最近项目上用到freeMarker 的模板,遇到有关配置freeMarker的模板路径时,配置过如下情况:** 根据官网上freeMarker的Api配置 但是自己不管怎么修改,还是报freemarker.template.TemplateNotFoundException: Template not found for name “*.ftl” 1、首先检查下打的包target下是否有你需要的模板文件 没有则需要设置pom文件 <

baidu_36882394的博客 2万+

遗传算法优化光学超表面:智能设计突破纳米结构瓶颈

光学超表面设计本质上是一个高维、非线性、离散每个结构单元(如纳米砖柱、孔洞、十字架)有多个参数(长、宽、高、旋转角、材料),整个阵列的参数组合数量随单元数指数级增长。性能指标(如聚焦效率、工作带宽、偏振转换率、特定角度响应)往往无法用简单解析式表达,需依赖计算密集型电磁仿真(如FDTD, FDFD, RCWA)来评估。结构参数微小变化可能引起光学响应的剧烈跃变,目标函数存在多个局部最优解。实际制造通常要求结构参数取自有限的离散值(如特定刻蚀深度、材料库)。

weixin_51101456的博客 1139

Freemarker异常:freemarker.template.TemplateNotFoundException: Template not found for name “xxx.ftl“.

问题背景 在Spring Boot项目里整合Freemarker,目标是使用Freemarker模板文件生成代码。 模板在在resources/template里边明明有对应的xxx.xml.ftl文件,但是却报错说没有找到该文件。 freemarker.template.TemplateNotFoundException: Template not found for name "xxx.ftl". ....... 产生问题原因 此时便要注意Maven生成的项目了。在target文件夹,即编译成功的文件

John是橘红的博客 1万+

WPS接入DeepSeek,实现AI辅助功能

总的来说,借助 WPS 中宏功能与 DeepSeek 大模型的结合,文档处理、内容创作和数据分析等任务都能更加智能化、自动化。这不仅大幅提升了工作效率,也为办公场景带来了全新的智能化办公体验。

运维老生常谈 3801

本地部署了qwen2.5:0.8b ,对接openclaw 后,电脑卡的要死

OpenClaw 强制 16k 上下文 + 无限历史 + Agent 调度,把 0.8b 压垮。按上面配置:轻量化 + 限历史 + 驻留显存,电脑立刻不卡。

专注于技术研发行业技术主要有AI人工智能视觉识别、物联网技术、电商平台、app原生技术、微信小程序、鸿蒙语言开发、办公企业oa、ERP等,致力于做东半球最优秀的程序员 976

freemarker模板在jar包中路径读取失败:freemarker.template.TemplateNotFoundException: Template not found for name

问题背景 将p1整合到p0平台时候,freemarker读取jar包中模板文件失败,报错信息:freemarker.template.TemplateNotFoundException: Template not found for name " 原因排查 在p0测试服务器可复测,但在p1中未出现此问题;怀疑是安装问题导致,由于p1跟p0分别安装在服务器不同路径下, 可能跟文件路径权限有关,所以将p0安装路径改为跟p1一致,重装后测试,发现问题仍然存在,故排除安装路径问题;因为涉及模块为brick1模

Yingtaozi_0的博客 9772

人机交互期末复习笔记

人机交互期末复习笔记 进行复习的童鞋们可以跟着清华大学《人机交互基础教程第3版(孟祥旭、李学庆、杨承磊、王璐编著)的书籍参照借阅。上面的一字一句皆是敲键盘敲出来的,并且掌握课本的基本内容。 博客中的知识点有些地方会进行粗略的跳过(主要的大框架没有省略),建议有同样需求的读者结合书本与博客一同借阅。本博客有错误的地方多多指正,谢谢大家~ 文章目录人机交互期末复习笔记第一章 绪论 P11.1 人机交互的概念1.2 人机交互的研究内容1.3 人机交互的发展历史(只介绍人机交互阶段)第二章 感知和认知基础 P122

server643的博客 5022

freemarker报错:freemarker.template.TemplateNotFoundException

路径是对的,模板是存在的,为什么还是会报这个错误? 答案:让你的IDEA飞一会,它反应慢,你可以clean一下,也可以清一下缓存,也可以关闭重新打开。

numbbe的博客 3146

WPF毛玻璃效果别再写C#代码了!纯XAML用Border+VisualBrush+BlurEffect三步搞定

本文详细介绍了如何在WPF中通过纯XAML实现毛玻璃效果,无需编写C#代码。通过VisualBrush、BlurEffect和Clip的黄金组合,开发者可以快速创建专业级的毛玻璃面板,提升UI的现代感和视觉层次。文章还提供了性能优化技巧和实战案例,帮助开发者在各种场景中高效应用这一技术。

weixin_28630185的博客 352

Django 小实例S1 简易学生选课管理系统 —— 〇、初步介绍与演示

python Django实现的一个简易的教务选课系统。 介绍与演示的视频版本已发到我的b站: https://www.bilibili.com/video/BV1er4y1w7ty。 项目已上传到我的github: https://github.com/BigShuang/SimpleStudentCourseManagementSystem。 S1总目录: 〇、初步介绍与演示 一、项目流程梳理与数据库设计 ======================= 大爽歌作,made by big shuang.

大爽老师的博客 5944

freemarker.template.TemplateNotFoundException: Template not found for name “xxx.ftl“

根据报错信息提示是xxx.ftl模板不存在,但是在项目目录中确实存在该xxx.ftl文件 检查发现:这是因为ftl文件放置在java目录下,在idea中编译的时候没有将ftl文件编译导classes目录中,导致在运行的时候找不到所需要的文件 解决办法:可以手动将该文件放置在classes对应的目录下即可。 ...

hdn_kb的博客 1万+

Python中的join函数的用法

从语法、实例、应用三方面详尽地介绍join函数

阿黎逸阳的博客 2万+

报错freemarker.template.TemplateNotFoundException: Template not found for name “XXX“.又是你容易错过的细节!!

freemMarker 的路径问题就是个大坑!全网细节的首篇文章。

weixin_43827530的博客 2541

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Java——程序包不存在【三种解决方法】

​针对idea2020版本以上版本都遇到了: 在maven项目中运行程序的时候会出现java程序包不存在现象。 这里提供了三种解决程序包不存在的方法: 方法一:maven包管理的clean方法 方法二:清理缓存 方法三:设置配置

Pan_peter的博客 24万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Mybatis-Plus报错:java.lang.ClassNotFoundException: freemarker.template.Configuration

出现场景:使用mybatis-plus-generator3.5.3.2最新版本的代码生成器时候报错。提示找不到freemarker.template.Configuration,

雾林小妖的博客 1908

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Freemaker打jar包后文件路径不存在

学的不快,转头就忘,

qq_39232249的博客 1148

SpringBoot集成Freemarker模板生成Word文档,项目打成jar包到生产环境显示找不到模板文件

2、解决方案:注入FreeMarkerConfigurer配置类,因为freemarker模板的默认目录就在resourse下的templates目录下,使用freeMarkerConfigurer.getConfiguration().getTemplate(“word.ftl”)可直接获取到对应的模板文件。本人出错的代码大概如下所示:这块代码主要是testTemplate()方法中configuration通过模板名获取模板对象而服务,所以报错也是这行代码导致线上报错。

qq_45087487的博客 3224

Java显示程序包不存在?有三种解决方法!

在Java编程过程中,经常会遇到“程序包不存在”的错误消息。这通常是由于编译器无法找到所需的类或库而引起的。幸运的是,这个问题有多种解决方法。在本文中,我们将介绍三种常见的解决方法,并通过具体的实例来分析如何应对这个错误。

爱编程的鱼的博客 1万+

Freemarker踩坑合集(总篇)

使用freemarker时遇到的问题总结

好好学习,天天向上 3013

freemarker.template.TemplateNotFoundException: Template not found for name “ops.ftl“.解决freeMark异常

解决freeMark异常freemarker.template.TemplateNotFoundException

胖揍偷猪贼&的博客 5581

java错误加载模板文件_freemarker报 java.io.FileNotFoundException:及TemplateLoader使用

使用过freemarker的肯定其见过如下情况:1 java.io.FileNotFoundException: Template xxx.ftl not found.模板找不到。可能你会认为我明明指定了文件,并且文件存在,但是为什么就是说找不到呢?经过研究官方的API,原来freemarker在加载模板时,建议使用TemplateLoader,通过TemplateLoader指定从哪个目录开始加...

weixin_42548752的博客 1073

java找不到的模板_maven把项目打包成jar包后找不到velocity模板的bug

使用springmvc 开发时候要实现发送velcotiy模板邮件,在配置正常后,在本地测试正常后,使用maven打包成jar包后,报以下错误,Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/index.vm'at org.apache.ve...

weixin_42309773的博客 727

Jfinal报错jfinal java.lang.ClassNotFoundException: freemarker.template.TemplateException

刚开始学习Jfinal框架,搭建时遇到报错java.lang.ClassNotFoundException: freemarker.template.TemplateException 解决方法:需要导入freemarker的jar包--&gt;freemarker-2.3.20.jar以此记录...

twj123456321的博客 4570

知识积累:java.io.FileNotFoundException: class path resource [templates/] spring-cloud-netflix-eureka-ser

注册中心Eureka启动后报错,根据报错信息查看源码是由于Freemarker默认加载,然后找不到对应的模版文件 “templates/” 所在路径。 报错如下: java.io.FileNotFoundException: class path resource [templates/] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/Desktop/m2/r

做技术,贵在学习与坚持! 2172

FreeMarker使用Template生成可变参数的json(一),及访问Template出现not found

上篇文章使用yaml进行json的变量赋值,感觉还是挺麻烦的,于是用Freemarker模板进行data+template=out(json),方便多了。但是中间出了点小岔子,在获取模板文件路径的时候,发现FreeMarker源码里加载的loaderClass就是从调用端传过来的××test.class,如果测试类放在src/main/test/java下,FreeMarkerUtils类和××.f

左手大拇指在上 6242
上一篇: spring security自定义权限配置
下一篇: 一条sql语句添加多个字段
hellodake
博客等级 码龄10年 24粉丝 101原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值