Closed alekin2 closed 1 year ago
What version of Java are you using (java -version
)?
java -version java version "16.0.2" 2021-07-20 Java(TM) SE Runtime Environment (build 16.0.2+7-67) Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
JDK_HOME C:\Program Files\Java\jdk-16.0.2
I changed java to openjdk version "17.0.2" 2022-01-18 LTS OpenJDK Runtime Environment Zulu17.32+13-CA (build 17.0.2+8-LTS) OpenJDK 64-Bit Server VM Zulu17.32+13-CA (build 17.0.2+8-LTS, mixed mode, sharing)
(weka zulu java distribution) but it doesn't solve the problem
Please try Java 11 (LTS): https://adoptium.net/
Ok, istalled: java -version openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7) OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode, sharing)
I removed the arpack_combined, core.jar and mtj.jar jars that I had manually added in the anaconda folder to avoid the no/uib/cipr/matrix/Matrix exception
Now I get:
DEBUG:weka.core.jvm:Adding bundled jars
DEBUG:weka.core.jvm:Classpath=['C:\Users\myuser\AppData\Local\anaconda3\Lib\site-packages\javabridge\jars\rhino-1.7R4.jar', 'C:\Users\myuser\AppData\Local\anaconda3\Lib\site-packages\javabridge\jars\runnablequeue.jar', 'C:\Users\myuser\AppData\Local\anaconda3\Lib\site-packages\javabridge\jars\cpython.jar', 'C:\Users\myuser\AppData\Local\anaconda3\lib\site-packages\weka\lib\python-weka-wrapper.jar', 'C:\Users\myuser\AppData\Local\anaconda3\lib\site-packages\weka\lib\weka.jar']
DEBUG:weka.core.jvm:MaxHeapSize=default
DEBUG:weka.core.jvm:Package support enabled
java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @36f365a0
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:792)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInFromStream(WekaPackageClassLoaderManager.java:690)
at weka.core.WekaPackageClassLoaderManager.injectMTJCoreClasses(WekaPackageClassLoaderManager.java:118)
at weka.core.WekaPackageManager.
You're still using Java 17, not 11. The error that you're encountering is most likely related to Internal JDK Elements Strongly Encapsulated in JDK 17. This is an issue with the python-javabridge library, which pww3 uses under the hood.
you're right, by mistake I downloaded the latest available! Correct msi is OpenJDK11U-jdk_x64_windows_hotspot_11.0.19_7.msi and problem is solved!
Thanks so much for your advice
PC configuration :Os windows 10, Python 3.10,Last version of python-weka-wrapper3
After
jvm.start(packages=True)
I get:
DEBUG:weka.core.jvm:Adding bundled jars DEBUG:weka.core.jvm:Classpath=['C:\Users\utente\AppData\Local\anaconda3\Lib\site-packages\javabridge\jars\rhino-1.7R4.jar', 'C:\Users\utente\AppData\Local\anaconda3\Lib\site-packages\javabridge\jars\runnablequeue.jar', 'C:\Users\utente\AppData\Local\anaconda3\Lib\site-packages\javabridge\jars\cpython.jar', 'C:\Users\utente\AppData\Local\anaconda3\lib\site-packages\weka\lib\arpack_combined.jar', 'C:\Users\utente\AppData\Local\anaconda3\lib\site-packages\weka\lib\core.jar', 'C:\Users\utente\AppData\Local\anaconda3\lib\site-packages\weka\lib\mtj.jar', 'C:\Users\utente\AppData\Local\anaconda3\lib\site-packages\weka\lib\python-weka-wrapper.jar', 'C:\Users\utente\AppData\Local\anaconda3\lib\site-packages\weka\lib\weka.jar'] DEBUG:weka.core.jvm:MaxHeapSize=default DEBUG:weka.core.jvm:Package support enabled giu 28, 2023 12:07:11 PM com.github.fommil.netlib.ARPACK
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemARPACK
giu 28, 2023 12:07:11 PM com.github.fommil.netlib.ARPACK
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeRefARPACK
[WekaPackageManager] Skipping package J48graft because it is not compatible with Weka 3.9.6
java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @f98a707
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:792)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:718)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInJar(WekaPackageClassLoaderManager.java:667)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInJar(WekaPackageClassLoaderManager.java:677)
at weka.core.WekaPackageLibIsolatingClassLoader.checkForNativeLibs(WekaPackageLibIsolatingClassLoader.java:282)
at weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:145)
at weka.core.WekaPackageLibIsolatingClassLoader.(WekaPackageLibIsolatingClassLoader.java:126)
at weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1373)
at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1305)
java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @f98a707
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:792)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:718)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInJar(WekaPackageClassLoaderManager.java:667)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInJar(WekaPackageClassLoaderManager.java:677)
at weka.core.WekaPackageLibIsolatingClassLoader.checkForNativeLibs(WekaPackageLibIsolatingClassLoader.java:282)
at weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:145)
at weka.core.WekaPackageLibIsolatingClassLoader.(WekaPackageLibIsolatingClassLoader.java:126)
at weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1373)
at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1305)
java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @f98a707
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:792)
at weka.core.WekaPackageClassLoaderManager.injectClasses(WekaPackageClassLoaderManager.java:718)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInJar(WekaPackageClassLoaderManager.java:667)
at weka.core.WekaPackageClassLoaderManager.injectAllClassesInJar(WekaPackageClassLoaderManager.java:677)
at weka.core.WekaPackageLibIsolatingClassLoader.checkForNativeLibs(WekaPackageLibIsolatingClassLoader.java:282)
at weka.core.WekaPackageLibIsolatingClassLoader.init(WekaPackageLibIsolatingClassLoader.java:145)
at weka.core.WekaPackageLibIsolatingClassLoader.(WekaPackageLibIsolatingClassLoader.java:126)
at weka.core.WekaPackageClassLoaderManager.addPackageToClassLoader(WekaPackageClassLoaderManager.java:369)
at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1373)
at weka.core.WekaPackageManager.loadPackages(WekaPackageManager.java:1305)