Подтвердить что ты не робот

Отсутствует GreenDao freemaker.jar

Я только что загрузил новый файл jar для GreenDao, чтобы создать свою БД для приложения, которое я создаю.

Пройдя весь процесс моделирования моих сущностей и связей между ними, я попытался запустить проект генератора, но получил эту ошибку для строки, сгенерированной БД:

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.

Любые мысли или решения будут очень полезными.

p.s. можно ли использовать freemaker.jar, который был в версии 1.2?

EDIT:, я загрузил эту версию из sourceforge и надеюсь, что это на самом деле то, что мне нужно использовать.

4b9b3361

Ответ 1

У меня была аналогичная проблема и загрузила банку из http://mvnrepository.com/artifact/org.freemarker/freemarker, которая получилась хорошо.

Когда вы посмотрите на build.gradle в проекте DaoGenerator, вы найдете зависимость, которая указывает именно на этот артефакт. Я предполагаю, что с помощью gradle для создания вашего проекта автоматически загружаются эти зависимости, как это делает maven. Если вы также не хотите использовать это, возможно, это нормально, чтобы загрузить и включить артефакты вручную.

Ответ 2

У меня была такая же ошибка, но я пытался скомпилировать greendao-генератор в моем основном проекте, но вы должны создать java-модуль для greenDao, тогда он не будет запрашивать freemarker.

используйте greendao-generator внутри модуля java и greendao внутри основного проекта

вы можете следовать этому руководству Учебник GreenDao и Android Studio