Exception starting OffRoad 0.5 with OpenJDK-17
Offline vector map display ported from OsmAnd
Brought to you by:
christianfoltin,
someone-guy
Starting OffRoad 0.5 with OpenJDK 17 throws exception:
Dez. 27, 2021 1:21:27 AM net.sourceforge.offroad.OsmWindow getAppPath INFORMATION: Searching for /home/tps/.OffRoad/offroad.properties Dez. 27, 2021 1:21:28 AM net.sourceforge.offroad.OsmWindow getAppPath INFORMATION: Searching for /home/tps/.OffRoad/ Read file /home/tps/.OffRoad/net.osmand.settings.pedestrian.priv.properties and put as net.osmand.settings.pedestrian Read file /home/tps/.OffRoad/net.osmand.settings.bicycle.priv.properties and put as net.osmand.settings.bicycle Read file /home/tps/.OffRoad/net.osmand.settings.car.priv.properties and put as net.osmand.settings.car Read file /home/tps/.OffRoad/net.osmand.settings.default.priv.properties and put as net.osmand.settings.default Read file /home/tps/.OffRoad/offroad.priv.properties and put as offroad WARNING: Found path as /res/values-de/strings.xml instead of res/values-de/strings.xml Dez. 27, 2021 1:21:28 AM net.sourceforge.offroad.OsmWindow loadStrings INFORMATION: Trying to load resources sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@5577140b Dez. 27, 2021 1:21:29 AM com.sun.xml.bind.v2.runtime.reflect.opt.Injector <clinit> SCHWERWIEGEND: null java.security.PrivilegedActionException: java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String,[B,int,int,java.lang.ClassLoader,java.security.ProtectionDomain) at java.base/java.security.AccessController.doPrivileged(AccessController.java:573) at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java:197) at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:81) at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179) at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:285) at com.sun.xml.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.java:68) at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty.java:88) at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:100) at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.java:62) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128) at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:181) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:514) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:331) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:139) at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1156) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:165) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:289) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:217) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:175) at javax.xml.bind.ContextFinder.find(ContextFinder.java:353) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:508) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:465) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:366) at net.sourceforge.offroad.OsmWindow.loadStrings(OsmWindow.java:980) at net.sourceforge.offroad.OsmWindow.initStrings(OsmWindow.java:939) at net.sourceforge.offroad.OsmWindow.<init>(OsmWindow.java:890) at net.sourceforge.offroad.OsmWindow.getInstance(OsmWindow.java:1154) at net.sourceforge.offroad.OsmWindow.main(OsmWindow.java:866) Caused by: java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String,[B,int,int,java.lang.ClassLoader,java.security.ProtectionDomain) at java.base/java.lang.Class.getMethod(Class.java:2227) at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$3.run(Injector.java:201) at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$3.run(Injector.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) ... 36 more Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Method.invoke(Object, Object[])" because "com.sun.xml.bind.v2.runtime.reflect.opt.Injector.defineClass" is null at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:311) at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:97) at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:87) at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179) at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:285) at com.sun.xml.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.java:68) at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty.java:88) at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:100) at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.java:62) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128) at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:181) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:514) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:331) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:139) at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1156) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:165) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:289) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:217) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:175) at javax.xml.bind.ContextFinder.find(ContextFinder.java:353) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:508) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:465) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:366) at net.sourceforge.offroad.OsmWindow.loadStrings(OsmWindow.java:980) at net.sourceforge.offroad.OsmWindow.initStrings(OsmWindow.java:939) at net.sourceforge.offroad.OsmWindow.<init>(OsmWindow.java:890) at net.sourceforge.offroad.OsmWindow.getInstance(OsmWindow.java:1154) at net.sourceforge.offroad.OsmWindow.main(OsmWindow.java:866)
0.5 isn't supposed to work with java 17, use 0.6 beta 3 and make sure to delete, if existing, the ~/.OffRoad folder.
Closing as it should be working with latest versions, will look into making a proper 0.6 release.