View Issue Details

IDProjectCategoryView StatusLast Update
0004000SymmetricDSBugpublic2024-08-07 17:43
Reporterarafat024 Assigned To 
Priorityhigh 
Status closedResolutionfixed 
Product Version3.10.2 
Target Version3.15.8Fixed in Version3.15.8 
Summary0004000: java.lang.NoClassDefFoundError: org.jumpmind.symmetric.io.stage.StagingManager$1, even though the class exists in the jar file
DescriptionI am trying to integrate Symmetric-Android 3.10.2 in my Android application. It is showing the following error:

java.lang.NoClassDefFoundError: org.jumpmind.symmetric.io.stage.StagingManager$1 at org.jumpmind.symmetric.io.stage.StagingManager.(StagingManager.java:288) at org.jumpmind.symmetric.android.AndroidSymmetricEngine.createStagingManager(AndroidSymmetricEngine.java:108) at org.jumpmind.symmetric.AbstractSymmetricEngine.init(AbstractSymmetricEngine.java:348) at org.jumpmind.symmetric.android.AndroidSymmetricEngine.(AndroidSymmetricEngine.java:84) at org.jumpmind.symmetric.android.SymmetricService.onStartCommand(SymmetricService.java:88) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3944) at android.app.ActivityThread.access$2300(ActivityThread.java:219) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1833) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6939) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Tagsdialect: android

Activities

elong

2019-06-14 17:47

developer   ~0001526

StagingManager does have an anonymous inner class StagingManager$1 in version 3.10, but it didn't used to have it in earlier versions. The NoClassDefFoundError means the StagingManager$1 class isn't on the CLASSPATH, even though it knows that StagingManager was compiled to expect it there. It sounds like a CLASSPATH issue at runtime.

elong

2019-06-14 17:59

developer   ~0001527

Talking to team members, it sounds like we moved to JDK 8 and nio classes recently, which is found in StagingManager. Not all Android implementations support JDK 8. We could implement a AndroidStagingManager that doesn't use the nio classes.

pmarzullo

2024-08-07 17:43

developer   ~0002489

android is successfully running SymmetricDS.

Issue History

Date Modified Username Field Change
2019-06-13 07:06 arafat024 New Issue
2019-06-14 14:47 elong Tag Attached: dialect: android
2019-06-14 17:47 elong Assigned To => elong
2019-06-14 17:47 elong Status new => feedback
2019-06-14 17:47 elong Note Added: 0001526
2019-06-14 17:59 elong Assigned To elong =>
2019-06-14 17:59 elong Status feedback => acknowledged
2019-06-14 17:59 elong Note Added: 0001527
2024-08-07 17:43 pmarzullo Status acknowledged => closed
2024-08-07 17:43 pmarzullo Resolution open => fixed
2024-08-07 17:43 pmarzullo Fixed in Version => 3.15.8
2024-08-07 17:43 pmarzullo Note Added: 0002489