【问题标题】:greenDAO: ftl-templates not foundgreenDAO:未找到 ftl 模板
【发布时间】:2016-11-30 14:33:24
【问题描述】:

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

所以我通过 File -> New -> Import Module... 将 https://github.com/greenrobot/greenDAO 中的 greenDAO 添加到我的 Android Studio 项目中...并选择了 GreenDaoGenerator-module。

接下来,我构建了我的 java 模块来生成 greenDAO 数据库,该数据库使用 GreenDaoGenerator-module 作为依赖项,我得到一个异常,即找不到模板 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)

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

【问题讨论】:

    标签: android greendao greendao-generator


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 需要绝对路径:就像 src-template 的确切路径(添加快照)。为我工作
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      相关资源
      最近更新 更多