View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004000 | SymmetricDS | Bug | public | 2019-06-13 07:06 | 2024-08-07 17:43 |
| Reporter | arafat024 | Assigned To | |||
| Priority | high | ||||
| Status | closed | Resolution | fixed | ||
| Product Version | 3.10.2 | ||||
| Target Version | 3.15.8 | Fixed in Version | 3.15.8 | ||
| Summary | 0004000: java.lang.NoClassDefFoundError: org.jumpmind.symmetric.io.stage.StagingManager$1, even though the class exists in the jar file | ||||
| Description | I 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) | ||||
| Tags | dialect: android | ||||
|
|
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. |
|
|
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. |
|
|
android is successfully running SymmetricDS. |
| 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 |