在maven的velocity项目中将resources下的模板资源文件打包。
将velocity模块化引入到其它项目时报Unable to find resource '';Velocity.getTemplate获取资源文件出错!
VelocityContext velocityContext = new VelocityContext(context.toMap());
Template template = Velocity.getTemplate("mybatis\\Model.java.vm", "UTF-8")
try (StringWriter writer = new StringWriter()) {
template.merge(velocityContext, writer);
return writer.toString();
} catch (IOException e) {
e.printStackTrace();
}
解决方案1:
配置maven的build(可选择其它方式配置)
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
即可。
解决方案2:
使用变量编译模板。
final String templateContent = "package com.sicex.db.entity.${table.classPackage};