greenDAO:找不到ftl-templates

时间:2015-05-06 19:13:11

标签: android greendao greendao-generator

我使用的是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)

编辑: 这是项目结构的截图。我希望它有所帮助。

enter image description here

2 个答案:

答案 0 :(得分:9)

问题是模板文件路径的变化。虽然我不确定如何设置相对于某些东西的路径,但这是一个有效的黑客。打开DaoGenerator.java。在构造函数中,替换

config.setClassForTemplateLoading(this.getClass(), "/");

config.setDirectoryForTemplateLoading(new File("<your absolute path to templates>"));

您需要找到存储实际模板的位置。对我来说,他们在/DaoGenerator/src-template/目录。

enter image description here

答案 1 :(得分:0)

我最近将GreenDAO重新添加到了我的项目中,当我尝试构建它时,我收到了这个错误。

TemplateNotFoundException: Template not found for name "dao.ftl".

我的代码和模板目录与上次运行GreenDAO时没有变化。

只需重启Android Studio即可解决错误。我还没有调查过,发现为什么会这样。

相关问题