Skip to content

Generator fails to run NoClassDefFoundError: org/greenrobot/greendao/generator/Schema #619

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
baylonedward opened this issue Mar 24, 2017 · 40 comments

Comments

@baylonedward
Copy link

baylonedward commented Mar 24, 2017

This error just suddenly occur when I am about to update my database using green dao.
It seems it can find Schema class from greendao lib. I am using Android Studio 2.3.

@greenrobot-team
Copy link
Collaborator

Do you have a stacktrace or an example project? Otherwise it is a little hard to guess what this issue is caused by.

Typically this might be caused by missing configuration for ProGuard or multidex.
-ut

@baylonedward
Copy link
Author

baylonedward commented Mar 27, 2017

"C:\Program Files\Android\Android Studio\jre\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files\Android\Android Studio\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Android\Android Studio\jre\jre\lib\charsets.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\cldrdata.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\dnsns.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\jaccess.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\localedata.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\nashorn.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunec.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunmscapi.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\zipfs.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\jce.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\jsse.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\management-agent.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\resources.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\rt.jar;C:\Users\IT2\Android Apps\ProductionApp\daogenerator\build\classes\main;C:\Program Files\Android\Android Studio\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.pmrpallet.ProductionAppDao
Exception in thread "main" java.lang.NoClassDefFoundError: org/greenrobot/greendao/generator/Schema
	at com.pmrpallet.ProductionAppDao.main(ProductionAppDao.java:24)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: org.greenrobot.greendao.generator.Schema
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 6 more

@baylonedward
Copy link
Author

baylonedward commented Mar 27, 2017

package com.pmrpallet;

import org.greenrobot.greendao.generator.DaoGenerator;
import org.greenrobot.greendao.generator.Entity;
import org.greenrobot.greendao.generator.Property;
import org.greenrobot.greendao.generator.Schema;
import org.greenrobot.greendao.generator.ToMany;
import org.greenrobot.greendao.generator.ToOne;

/**
 * Edward S. Baylon 2017-03-13
 * ORM Generator
 *
 */
public class ProductionAppDao {

    //making these Entities global for access.
    private static Entity user;
    private static Entity item;
    private static Entity item_input_type;


    public static void main(String[] args) throws Exception {
        Schema schema = new Schema(1,"com.pmrpallet.pts.productionapp.database");
        //methods called to add to schema
        //addUserTable(schema);
        //addItemTable(schema);
        //addRepairTable(schema);
        //addSortingTable(schema);
        //addDismantleTable(schema);

        //new DaoGenerator().generateAll(schema, "app/src/main/java");
    }

}

//just calling the Schema class throws not found error.
//I just upgraded my android studio to the latest 2.3 and now it won't work.

@greenrobot-team
Copy link
Collaborator

greenrobot-team commented Mar 28, 2017

Now I see: looks like greenDAO generator is missing from your classpath. Make sure that you have a dependency on the generator (like compile 'org.greenrobot:greendao-generator:2.2.0') in the Java module build file where ProductionAppDao is a part of. -ut

@baylonedward
Copy link
Author

baylonedward commented Mar 29, 2017

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.greenrobot:greendao-generator:3.2.0'
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"

//I think not I have all along in the gradle build dependencies.

@baylonedward
Copy link
Author

nothing is change in the code,
I just want to rerun it.
but after upgrading to new Android Studio it can't find the Schema class.
This might be incompatibility with the new version of Android Studio 2.3.
You might want to try it.

@workofgao
Copy link

Hello! I also metting this trouble. Find a long time,lastly I try add ' MultiDex.install(this); ' at myapplication! After that my app is well running! Hope to help you ! Ignore my terrible English

@baylonedward
Copy link
Author

hi,
where should I put multidex.install(this)?

@workofgao
Copy link

hi ! in your application.java ‘s oncreate() ! I sended an email to you for example picture

@baylonedward
Copy link
Author

Hi did not receive any email.
Is there any solution to this problem?
dao generator class is a java application so MultiDex won't work i think.

@greenrobot-team
Copy link
Collaborator

greenrobot-team commented Apr 3, 2017

Oh, I just see that this might be a known issue: try to run code generation using Gradle.

Add the class with the main() method to your build.gradle file:

apply plugin: 'application'
mainClassName = "com.pmrpallet.ProductionAppDao"

Then in Android Studio execute the Gradle run task:
image

Update: I added this to the documentation.
-ut

Sorry, something went wrong.

@greenrobot-team greenrobot-team changed the title Exception in thread "main" java.lang.NoClassDefFoundError: org/greenrobot/greendao/generator/Schema Generator fails to run NoClassDefFoundError: org/greenrobot/greendao/generator/Schema Apr 3, 2017
@baylonedward
Copy link
Author

Hi,

I did not make my own application class for my dao generator.
I simply create a generator class so no application/run directory on my Gradle view.

Sorry, something went wrong.

@greenrobot-team
Copy link
Collaborator

@baylonedward As said, you need to apply the application plugin and configure your generator class. See my comment above. -ut

@baylonedward
Copy link
Author

Oh i see.
Thanks.
Was able to generate dao now.
But I want to know the reason why suddenly it won't work the normal way?
Is there any fix coming for this?

@FriedrichMaximilian
Copy link

hi,
i had the same issue, after upgrading to Android Studio 2.3. suddenly greendao doesn't work. I read all the comments above, but can't follow your instructions.
In which build.gradle file should i add :
apply plugin: 'application'
mainClassName = "com.pmrpallet.ProductionAppDao"

I have three of them, the root build.gradle , the app build.gradle and the greendao build.gradle.

In my app build.gradle file i apply the plugin: 'com.android.application' , so adding apply plugin: 'application' is not compatible.

I want to use the old greendao generation file i created with Version 2.0.0. Now i upgraded greendao to version 3.2.0. ( i changed all imports in the generation file). Normaly this should work or not?

Please give me some hints to get it work.

Best regards.

@greenrobot-team
Copy link
Collaborator

greenrobot-team commented Apr 4, 2017

@Diatore You should add it to the build.gradle file where you use the generator.

To learn how to update to greenDAO 3 have a look at the docs.

@baylonedward This is an Android Studio/IntelliJ IDEA issue. I am not sure there is anything we can do about it from our side.
-ut

@greenrobot-team greenrobot-team removed their assignment May 8, 2017
@jeffreyliu8
Copy link

(greendao 3.2.2) I am using android studio 3.0 preview beta, using the tasks/application/run gradle way to build, but I am getting

Error:Execution failed for task ':lib:run'.

Process 'command '/private/var/folders/7_/7gsmzg8x3m3835yx09cwx85h0000gs/T/AppTranslocation/57AF1295-3374-41DF-8BD8-FDD2034F5C81/d/Android Studio 3.0 Preview.app/Contents/jre/jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

@mrrobot97
Copy link

mrrobot97 commented Oct 11, 2017

I'm using Android Studio 2.3.2 and greendao 1.3.0, here is my build.gradle:

apply plugin: 'java'
apply plugin: 'application'
mainClassName = "com.wali.live.generator.GreenDaoGenerator"

dependencies {
    compile 'de.greenrobot:DaoGenerator:1.3.0'
}

when I click run in application, I encounter this error:
Error:Execution failed for task ':greendaogenerator:run'.

Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1.

@greenrobot-team
Copy link
Collaborator

@jeffreyliu8 @mrrobot97 Using Android Studio 3 RC1 and JDK Build 1.8.0_141-b15 the run task continues to work fine using greenDAO 3.2.2.

@mrrobot97 I have not tested with 1.3.0. But as @jeffreyliu8 has the same issue for a different greenDAO version and it works fine on my machine I assume this is a configuration problem on your machines.
-ut

@willemevenwel
Copy link

Thanks to the above answers, I experienced the same issues moving to AS 3 preview.

What solved it for me was moving the execution of the generator to a gradle task, and adding the application plugin to my generator module’s build.gradle. As explained by the greendao users. Thanks. I would really like to know why this works tho.

Additionally before I got it to work, I experienced the issue “blablabla finished with non-zero exit value 1”, but this was because of a typo in my package and generator class string value for mainClassName value.

Additionally I am using GreenDao version 2.1. (de.greenrobot:greendao-generator:2.1.0)

@mrrobot97
Copy link

mrrobot97 commented Nov 1, 2017

@greenrobot-team Finally I figured out why would I get this error:
Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1.

I'm using greendaogenerator in a seperate module and the out-dir is in another module named "data". I used to used
new DaoGenerator().generateAll(schema, "data/src/main/java-gen");
to genetate tables.
While now I must use
new DaoGenerator().generateAll(schema, "../data/src/main/java-gen");
It seems that the relative path of the outDir differed.

@sarvajeet294
Copy link

sarvajeet294 commented Nov 14, 2017

After upgrading to Android Studio 3 and also upgrading to greendao 3.2.2 from 2, I am facing this issue.
Error:18:37:15.936 [ERROR] [system.err] Note: D:\Git\Pulse_App\daogenerator\src\main\java\com\********\MyDaoGenerator.java uses or overrides a deprecated API. 18:37:15.936 [ERROR] [system.err] Note: Recompile with -Xlint:deprecation for details. 18:37:18.202 [ERROR] [system.err] Exception in thread "main" java.io.IOException: ../Pulse_App/app/src/main/java does not exist. This check is to prevent accidental file generation into a wrong path. 18:37:18.203 [ERROR] [system.err] at org.greenrobot.greendao.generator.DaoGenerator.toFileForceExists(DaoGenerator.java:155) 18:37:18.203 [ERROR] [system.err] at org.greenrobot.greendao.generator.DaoGenerator.generateAll(DaoGenerator.java:111) 18:37:18.203 [ERROR] [system.err] at org.greenrobot.greendao.generator.DaoGenerator.generateAll(DaoGenerator.java:104) 18:37:18.204 [ERROR] [system.err] at com.********.MyDaoGenerator.main(MyDaoGenerator.java:1735) 18:37:18.327 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 18:37:18.328 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception. 18:37:18.328 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 18:37:18.328 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong: 18:37:18.328 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':daogenerator:run'. 18:37:18.328 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Process 'command 'C:\Program Files\Java\jdk1.8.0_151\bin\java.exe'' finished with non-zero exit value 1

I am on gradle version 4.3.1. I have put mainClassName in my generator's build.gradle file like below,

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'application'

mainClassName = "com.******.MyDaoGenerator"

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    //Green Dao
    compile 'org.greenrobot:greendao-generator:3.2.2'
}

Still facing the same issue.

My application's root build.gradle contains

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'com.google.gms:google-services:3.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

I have added dependency
compile 'org.greenrobot:greendao:3.2.2'
in app's build.gradle

Please help me out.

@ashwithraja
Copy link

ashwithraja commented Nov 15, 2017

I'm facing the same issue. can anyone help me resolve this??

This is after migrating android studio from android version 2.3.2 to 3.0

Exception in thread "main" java.lang.NoClassDefFoundError: org/greenrobot/greendao/generator/Schema
at com.package.DatabaseGenerator.main(DatabaseGenerator.java:27)
Caused by: java.lang.ClassNotFoundException: org.greenrobot.greendao.generator.Schema
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more

@VinsonCai
Copy link

VinsonCai commented Nov 15, 2017

in build.gradle file.
apply plugin: 'application'

mainClassName = "com.example.AppStoreDaoGenerator"

and then sync the gradle

and also need to update the generate output directory, like:
new DaoGenerator().generateAll(schema, "../app/src/main/dao");

@ashwithraja
Copy link

@VinsonCai thanks for the quick response. I tried as per your suggestion but I'm getting some other issue. any idea on this?
Error:Execution failed for task ':databasegenrator'.

Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 1

@iskugor
Copy link

iskugor commented Nov 15, 2017

Hello.

I tried suggested workaround, but it didn't work for me.

I figured out the issue happens because of new gradle 3.0 version, if you download gradle version 2.3 it works fine (so you can still use new Android Studio).

I'm using SQLCipher (3.5.7) and GreenDAO encryption generator (org.greenrobot:greendao-generator-encryption:2.2.0) on MacOS.

Cheers

@VinsonCai
Copy link

@ashwithraja
sorry, don't know this error.

@ashwithraja
Copy link

I managed to fix the issue by updating the greenDao SDK to 3.2.2

@sarvajeet294
Copy link

sarvajeet294 commented Nov 17, 2017

Even I am getting the same error

13:07:09.395 [ERROR] [system.err] Note: Recompile with -Xlint:deprecation for details.
13:07:11.401 [ERROR] [system.err] Nov 17, 2017 1:07:11 PM freemarker.log._JULLoggerFactory$JULLogger error
13:07:11.401 [ERROR] [system.err] SEVERE: Error executing FreeMarker template
13:07:11.401 [ERROR] [system.err] FreeMarker template error:
13:07:11.402 [ERROR] [system.err] The following has evaluated to null or missing:
13:07:11.402 [ERROR] [system.err] ==> entity.tableName  [in template "dao.ftl" at line 62, column 21]
13:07:11.402 [ERROR] [system.err] 
13:07:11.402 [ERROR] [system.err] ----
13:07:11.402 [ERROR] [system.err] Tip: It's the step after the last dot that caused this error, not those before it.
13:07:11.404 [ERROR] [system.err] ----
13:07:11.404 [ERROR] [system.err] Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
13:07:11.404 [ERROR] [system.err] ----
13:07:11.404 [ERROR] [system.err] 
13:07:11.404 [ERROR] [system.err] ----
13:07:11.404 [ERROR] [system.err] FTL stack trace ("~" means nesting-related):
13:07:11.404 [ERROR] [system.err] 	- Failed at: ${entity.tableName}  [in template "dao.ftl" at line 62, column 19]
13:07:11.405 [ERROR] [system.err] ----
13:07:11.405 [ERROR] [system.err] 
13:07:11.405 [ERROR] [system.err] Java stack trace (for programmers):
13:07:11.406 [ERROR] [system.err] ----
13:07:11.406 [ERROR] [system.err] freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
13:07:11.407 [ERROR] [system.err] 	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131)
13:07:11.408 [ERROR] [system.err] 	at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:355)
13:07:11.408 [ERROR] [system.err] 	at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
13:07:11.409 [ERROR] [system.err] 	at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
13:07:11.410 [ERROR] [system.err] 	at freemarker.core.Environment.visit(Environment.java:324)
13:07:11.411 [ERROR] [system.err] 	at freemarker.core.MixedContent.accept(MixedContent.java:54)
13:07:11.411 [ERROR] [system.err] 	at freemarker.core.Environment.visit(Environment.java:324)
13:07:11.412 [ERROR] [system.err] 	at freemarker.core.Environment.process(Environment.java:302)
13:07:11.413 [ERROR] [system.err] 	at freemarker.template.Template.process(Template.java:325)
13:07:11.413 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generate(DaoGenerator.java:185)
13:07:11.414 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generate(DaoGenerator.java:163)
13:07:11.414 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generateAll(DaoGenerator.java:122)
13:07:11.414 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generateAll(DaoGenerator.java:104)
13:07:11.414 [ERROR] [system.err] 	at com.********.MyDaoGenerator.main(MyDaoGenerator.java:1735)
13:07:11.414 [ERROR] [system.err] 
13:07:11.472 [ERROR] [system.err] Data map for template: {schema=org.greenrobot.greendao.generator.Schema@4cc0edeb, entity=Entity Master_loantype (package: com.********.MyDaoGenerator.model)}
13:07:11.473 [ERROR] [system.err] Error while generating com.********.MyDaoGenerator.model.Master_loantypeDao (D:\Git\Pulse_App\app\src\main\java)
13:07:11.473 [ERROR] [system.err] Exception in thread "main" FreeMarker template error:
13:07:11.475 [ERROR] [system.err] The following has evaluated to null or missing:
13:07:11.475 [ERROR] [system.err] ==> entity.tableName  [in template "dao.ftl" at line 62, column 21]
13:07:11.475 [ERROR] [system.err] 
13:07:11.475 [ERROR] [system.err] ----
13:07:11.475 [ERROR] [system.err] Tip: It's the step after the last dot that caused this error, not those before it.
13:07:11.475 [ERROR] [system.err] ----
13:07:11.475 [ERROR] [system.err] Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
13:07:11.475 [ERROR] [system.err] ----
13:07:11.475 [ERROR] [system.err] 
13:07:11.476 [ERROR] [system.err] ----
13:07:11.476 [ERROR] [system.err] FTL stack trace ("~" means nesting-related):
13:07:11.476 [ERROR] [system.err] 	- Failed at: ${entity.tableName}  [in template "dao.ftl" at line 62, column 19]
13:07:11.476 [ERROR] [system.err] ----
13:07:11.476 [ERROR] [system.err] 
13:07:11.476 [ERROR] [system.err] Java stack trace (for programmers):
13:07:11.476 [ERROR] [system.err] ----
13:07:11.476 [ERROR] [system.err] freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
13:07:11.476 [ERROR] [system.err] 	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131)
13:07:11.476 [ERROR] [system.err] 	at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:355)
13:07:11.476 [ERROR] [system.err] 	at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
13:07:11.476 [ERROR] [system.err] 	at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
13:07:11.477 [ERROR] [system.err] 	at freemarker.core.Environment.visit(Environment.java:324)
13:07:11.477 [ERROR] [system.err] 	at freemarker.core.MixedContent.accept(MixedContent.java:54)
13:07:11.477 [ERROR] [system.err] 	at freemarker.core.Environment.visit(Environment.java:324)
13:07:11.477 [ERROR] [system.err] 	at freemarker.core.Environment.process(Environment.java:302)
13:07:11.477 [ERROR] [system.err] 	at freemarker.template.Template.process(Template.java:325)
13:07:11.477 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generate(DaoGenerator.java:185)
13:07:11.477 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generate(DaoGenerator.java:163)
13:07:11.477 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generateAll(DaoGenerator.java:122)
13:07:11.477 [ERROR] [system.err] 	at org.greenrobot.greendao.generator.DaoGenerator.generateAll(DaoGenerator.java:104)
13:07:11.477 [ERROR] [system.err] 	at com.********.MyDaoGenerator.main(MyDaoGenerator.java:1735)
13:07:11.529 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
13:07:11.529 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
13:07:11.529 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
13:07:11.529 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
13:07:11.529 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':daogenerator:run'.
13:07:11.530 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Process 'command 'C:\Program Files\Java\jdk1.8.0_151\bin\java.exe'' finished with non-zero exit value 1

@xTheITx
Copy link

xTheITx commented Nov 28, 2017

In case this helps someone: I managed to fix the issue by executing the Gradle 'run' command directly from the command-line as described in this SO answer:

https://stackoverflow.com/questions/42843031/noclassdeffounderror-when-trying-to-run-daogenerator-for-greendao

@franticn
Copy link

franticn commented Dec 1, 2017

@xTheITx tks,its work for me ;;)

@glenaries03
Copy link

glenaries03 commented Dec 5, 2017

I'm stuck with this issue. Can't get it working.

"/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java" "-javaagent:/Applications/Android Studio.app/Contents/lib/idea_rt.jar=51303:/Applications/Android Studio.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/charsets.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/localedata.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/sunec.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/jce.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/jsse.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/management-agent.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/resources.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/rt.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/lib/dt.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/lib/jconsole.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/lib/sa-jdi.jar:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/lib/tools.jar:/Users/user/Desktop/**/Greendao-Generator/build/classes/java/main" ..com.greendao_generator.MainGenerator
Exception in thread "main" java.lang.NoClassDefFoundError:

@AbelBeneberus
Copy link

HI
I got the same error too..... please help me!!!!!!!

"C:\Program Files\Android\Android Studio\jre\bin\java" "-javaagent:C:\Program Files\Android\Android Studio\lib\idea_rt.jar=44708:C:\Program Files\Android\Android Studio\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Android\Android Studio\jre\jre\lib\charsets.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\cldrdata.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\dnsns.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\jaccess.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\localedata.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\nashorn.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunec.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunmscapi.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\ext\zipfs.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\jce.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\jsse.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\management-agent.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\resources.jar;C:\Program Files\Android\Android Studio\jre\jre\lib\rt.jar;D:\IMNCI\MBCT\mbct.orm\build\classes\java\main" taditsolution.orm.MbctORM
Exception in thread "main" java.lang.NoClassDefFoundError: org/greenrobot/greendao/generator/Schema
at taditsolution.orm.MbctORM.main(MbctORM.java:11)
Caused by: java.lang.ClassNotFoundException: org.greenrobot.greendao.generator.Schema
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more

Process finished with exit code 1

@glenaries03
Copy link

Got it working!
Like the answer above.
@abelsee I just ran the greendaoGenerator from Gradle projects.
It's in the extreme right if you are using Android Studio.

@AbelBeneberus
Copy link

@blueboxsolution tnx alot it worked ......

@Roby8023
Copy link

@xTheITx X thx, it spent me a lot time until find your answer.

@silentsudo
Copy link

@greenrobot-team has the perfect answer and its there in documentation,
Solution worked for me is:

apply plugin: 'application'
mainClassName = "com.example.Generator" 

In Java code replace
app/src/main/java -> ../app/src/main/java (path of generated files)

Once this is done, follow steps below:

  • Got to Edit configuration
  • Create New Gradle Configuration
  • Select gradle project
  • add run as task
  • Press play, all files should be generated successfully now.

@naitbrahim
Copy link

For me I have to delete apply 'java' from my daogenerator module and put these lines instead :

apply plugin: 'application'
mainClassName = "com.example.GreenGenerator"
sourceCompatibility = 1.8

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.greenrobot:greendao-generator:2.2.0'
}

@hpeiyan
Copy link

hpeiyan commented Sep 28, 2018

Android studio3.0.1, GreenDao3.2.3 or 2.3.3; all above answers are unused. It had spent me one afternoon.....

@hpeiyan
Copy link

hpeiyan commented Sep 28, 2018

Thank God. I have upgrade Android Studio from 3.0.1 to 3.2.0, and it's correct.

screen shot 2018-09-28 at 6 11 26 pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests