java.lang.NoClassDefFoundError 或 Caused by: java.lang.ClassNotFoundException

本文分析了在使用GreenDAO生成器时遇到的Freemarker模板未找到异常问题,详细介绍了如何定位错误并解决缺少相关jar包的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面举个例子,分析解决:

Exception in thread "main" java.lang.NoClassDefFoundError: freemarker/template/TemplateNotFoundException

    at com.luminal.greendao.daogenerator.DaoMaker.main(DaoMaker.java:16)

Caused by: java.lang.ClassNotFoundException: freemarker.template.TemplateNotFoundException

    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

    ... 1 more    

Process finished with exit code 1

首先我们一看意思就是没有找到类的异常,像这种情况:要么缺少jar包 或 包名写错,才找不到类。于是我们先要看报错位置,它所在的类是否要引入此包类,没有的话就有可能是jar包没有引入其他相应的jar包而报错。

错误定位行为16,而DaoMaker类也并没有引入“freemarker”相关的jar包,

于是我command点击DaoGenerator去看它的源码,搜索关键字“freemarker”,找到 “ import freemarker.template.TemplateNotFoundException; ” ,很显然是项目引入的jar包里面缺少引入的jar包

然后我们找到“freemarker”相关的jar包即可。

找到以前实践成功的jar包,Reveal in Finder,复制到当前项目的libs目录下,Add as Library即可

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

被开发耽误的大厨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值