10

我刚刚为GreenDao下载了新的 jar 文件,以便为我正在构建的应用程序创建我的数据库。

在完成了对我的实体和它们之间的连接进行建模的所有过程之后,我尝试运行生成器项目,但是生成数据库的行出现了这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: freemarker/template/ObjectWrapper
    at com.glide.talk.glide.model.generator.Model.main(Model.java:29)
Caused by: java.lang.ClassNotFoundException: freemarker.template.ObjectWrapper
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 1 more

发生这种情况的行是:new DaoGenerator().generateAll(schema, src);我在构建路径和lib文件夹中只有greendao-generator-1.3.0.jar文件。

任何想法或解决方案都会非常有帮助。

ps 可以使用 1.2 版本的 freemaker.jar 吗?

编辑:现在,我从 sourceforge 下载了这个版本,并希望这实际上是我需要使用的。

4

2 回答 2

8

我遇到了类似的问题,并从http://mvnrepository.com/artifact/org.freemarker/freemarker下载了运行良好的 jar。

当您查看DaoGenerator -project 中的 build.gradle 时,您会发现一个完全指向该工件的依赖项。我猜想使用 gradle 来构建你的项目会像 maven 一样自动下载这些依赖项。如果您不想使用其中任何一个,则可以手动下载并包含工件。

于 2013-05-27T14:52:36.017 回答
1

我有同样的错误,但我试图在我的主项目中编译 greendao-generator,但你必须为 greenDao 创建一个 java 模块,然后它不会要求 freemarker。

在 java 模块中使用 greendao-generator,在主项目中使用 greendao

您可以按照本教程 GreenDao 和 Android Studio 教程

于 2015-01-23T11:20:20.513 回答