wenbostar / PDV

PDV: an integrative proteomics data viewer
GNU General Public License v3.0
44 stars 20 forks source link

Java version #64

Closed wenbostar closed 5 months ago

wenbostar commented 9 months ago

I got the following error when I tried to launch PDV GUI using OpenJDK version 20.0.2.

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @73669809 [in thread "initPTM"]
        at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:387)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:363)
        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:311)
        at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:201)
        at java.base/java.lang.reflect.Method.setAccessible(Method.java:195)
        at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:177)
        at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1.run(Injector.java:174)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
        at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java:172)
        at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:83)
        at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:176)
        at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:282)
        at com.sun.xml.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.java:69)
        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.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484)
        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:509)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:326)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:141)
        at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1157)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145)
        at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:236)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:186)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:146)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:348)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:313)
        at uk.ac.ebi.pride.utilities.pridemod.io.unimod.xml.unmarshaller.UnimodUnmarshallerFactory.initializeUnmarshaller(UnimodUnmarshallerFactory.java:36)
        at uk.ac.ebi.pride.utilities.pridemod.io.unimod.xml.UnimodReader.<init>(UnimodReader.java:35)
        at PDVGUI.utils.ImportPTMsFromUnimod.parsingFile(ImportPTMsFromUnimod.java:55)
        at PDVGUI.utils.ImportPTMsFromUnimod.<init>(ImportPTMsFromUnimod.java:34)
        at PDVGUI.gui.PDVStart$1.run(PDVStart.java:58)
openjdk version "20.0.2" 2023-07-18
OpenJDK Runtime Environment (build 20.0.2+9-78)
OpenJDK 64-Bit Server VM (build 20.0.2+9-78, mixed mode, sharing)
wenbostar commented 9 months ago

It works well when using jdk1.8.0_131.

wenbostar commented 9 months ago

One solution to this:

conda create -n java8
conda activate java8
conda install -c conda-forge openjdk=8.0.382