Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/velocity/context/Context
at com.baomidou.mybatisplus.generator.AutoGenerator.execute(AutoGenerator.java:103)
at top.aifabu.utils.AutoGeneratorHelper.generateByTables(AutoGeneratorHelper.java:56)
at top.aifabu.utils.AutoGeneratorHelper.main(AutoGeneratorHelper.java:27)
Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context.Context
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
使用mybatis-plus自动生成工程代码时候出现以上异常错误解决办法
1、可以直接使用默认导出模板引擎 直接pom.xml 导入依赖或者下载 jar文件放入工程
<!-- 默认模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${org.apache.velocity.version}</version>
</dependency>
2、如果项目已经使用了其他模板引擎 如:freemarker
<!--freemarker模块引擎-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
需要重新定义一下导出的模板引擎即可
new AutoGenerator().
setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(new PackageConfig()
.setParent(packageName)
.setEntity("entity")
.setMapper("dao")
.setService("service")
.setController("controller")
.setXml("top.aifabu.publish.dao"))
.setTemplateEngine(new FreemarkerTemplateEngine()) // 默认是velocity 替换使用freemarker
.execute();
3、使用其他模板工具导出,自行适配模板引擎即可。