我使用的是greenDAO for Android,我想编辑greenDAO生成器,因为它会覆盖我每次在数据库上更改内容时需要的@SerializedName。
所以我通过File - >将https://github.com/greenrobot/greenDAO中的greenDAO添加到我的Android Studio项目中新 - >导入模块......并且刚刚选择了GreenDaoGenerator模块。
接下来,我构建我的java模块来生成greenDAO数据库,该数据库使用GreenDaoGenerator模块作为依赖项,我得到一个例外,找不到模板dao.ftl。
有人可以帮帮我吗?我是Android新手,不检查,为什么它找不到该文件。
Exception in thread "main" java.io.FileNotFoundException: Template "dao.ftl" not found.
at freemarker.template.Configuration.getTemplate(Configuration.java:742)
at freemarker.template.Configuration.getTemplate(Configuration.java:665)
at de.greenrobot.daogenerator.DaoGenerator.<init>(DaoGenerator.java:65)
at com.example.GreenDaoCreater.main(GreenDaoCreater.java:39)
编辑: 这是项目结构的截图。我希望它有所帮助。
答案 0 :(得分:9)
问题是模板文件路径的变化。虽然我不确定如何设置相对于某些东西的路径,但这是一个有效的黑客。打开DaoGenerator.java。在构造函数中,替换
config.setClassForTemplateLoading(this.getClass(), "/");
与
config.setDirectoryForTemplateLoading(new File("<your absolute path to templates>"));
您需要找到存储实际模板的位置。对我来说,他们在/DaoGenerator/src-template/
目录。
答案 1 :(得分:0)
我最近将GreenDAO重新添加到了我的项目中,当我尝试构建它时,我收到了这个错误。
TemplateNotFoundException: Template not found for name "dao.ftl".
我的代码和模板目录与上次运行GreenDAO时没有变化。
只需重启Android Studio即可解决错误。我还没有调查过,发现为什么会这样。