2

我正在使用适用于 Android 的 greenDAO,并且我想编辑 greenDAO 生成器,因为它会覆盖 @SerializedName,这是我每次更改数据库上的某些内容时 GSON 需要的。

所以我通过 File -> New -> Import Module... 将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)

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

在此处输入图像描述

4

2 回答 2

9

问题是模板文件的路径发生了变化。虽然我不确定如何设置相对路径,但这里有一个可行的技巧。打开 DaoGenerator.java。在构造函数中,替换

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

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

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

在此处输入图像描述

于 2015-05-25T11:54:42.713 回答
0

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

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

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

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

于 2016-06-13T15:47:27.217 回答