Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 01-12-2017 20:10:34

_john_doe
Membre
Inscription : 15-10-2017

Compatibilité JRE 9 et JD-GUI

Bonjour à tous,
J'ai eu la bonne idee de mettre à jour ma version de JRE :

root@kali:/# java --version
openjdk 9.0.1
OpenJDK Runtime Environment (build 9.0.1+11-Debian-1)
OpenJDK 64-Bit Server VM (build 9.0.1+11-Debian-1, mixed mode)


Et depuis jd-gui retourne un message d'erreur :

root@kali:/# jd-gui
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass$3$1 (file:/usr/share/jd-gui/jd-gui.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass$3$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath) accessible: module java.base does not "opens jdk.internal.loader" to unnamed module @22a67b4
  at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)
  at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)
  at java.base/java.lang.reflect.Constructor.checkCanSetAccessible(Constructor.java:192)
  at java.base/java.lang.reflect.Constructor.setAccessible(Constructor.java:185)
  at org.codehaus.groovy.reflection.CachedConstructor$1.run(CachedConstructor.java:41)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at org.codehaus.groovy.reflection.CachedConstructor.<init>(CachedConstructor.java:39)
  at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:76)
  at org.codehaus.groovy.reflection.CachedClass$2.initValue(CachedClass.java:66)
  at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
  at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
  at org.codehaus.groovy.reflection.CachedClass.getConstructors(CachedClass.java:265)
  at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:215)
  at groovy.lang.MetaClassImpl.<init>(MetaClassImpl.java:225)
  at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass(MetaClassRegistry.java:168)
  at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createWithCustomLookup(MetaClassRegistry.java:158)
  at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create(MetaClassRegistry.java:141)
  at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:250)
  at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:282)
  at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:292)
  at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:259)
  at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:868)
  at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPojoSite(CallSiteArray.java:122)
  at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:163)
  at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
  at org.jd.gui.view.MainDescription.run(MainDescription.groovy:170)
  at groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1169)
  at groovy.util.FactoryBuilderSupport.build(FactoryBuilderSupport.java:1152)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:564)
  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
  at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:382)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
  at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
  at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:161)
  at org.jd.gui.view.MainView$_closure1.doCall(MainView.groovy:69)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:564)
  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
  at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1082)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
  at groovy.lang.Closure.call(Closure.java:423)
  at groovy.lang.Closure.call(Closure.java:417)
  at java_util_concurrent_Callable$call.call(Unknown Source)
  at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
  at groovy.swing.SwingBuilder$_edt_closure1.doCall(SwingBuilder.groovy:333)
  at groovy.swing.SwingBuilder$_edt_closure1.doCall(SwingBuilder.groovy)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.base/java.lang.reflect.Method.invoke(Method.java:564)
  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
  at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)
  at groovy.lang.Closure.call(Closure.java:423)
  at groovy.lang.Closure.call(Closure.java:417)
  at groovy.lang.Closure.run(Closure.java:504)
  at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
  at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
  at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
  at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
  at java.base/java.security.AccessController.doPrivileged(Native Method)
  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
  at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)


Apres quleques recherches sur internet ils semblerait qu'il y est un pb de compatibilite entre la derniere version de JRE et jd-gui.
Sur les github de jd-gui le probleme est bien reférencé par contre la solution proposée est pour macOS sierra, pas pour Debian....

https://github.com/java-decompiler/jd-gui/issues/187

Un pro du Java saurait-il comment resoudre ce pb sous Debian ?
Je debute en Java, pas encore le niveau pour trouver tout seul roll

Hors ligne

#2 03-12-2017 15:53:27

Croutons
Membre
Distrib. : Handylinux 2.5 vers Jessie et Debian Stretch
Noyau : Linux 3.16.0-4-686-pae, Linux 4.9.0-3-686-pae
(G)UI : xfce
Inscription : 16-12-2016

Re : Compatibilité JRE 9 et JD-GUI

Bonjour
Il serait peut être bon de ne pas lancer les application en root wink

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#3 04-12-2017 19:14:06

_john_doe
Membre
Inscription : 15-10-2017

Re : Compatibilité JRE 9 et JD-GUI

Yeap, Kali etant une distro tournée pentesting elle fonctionne par défaut en root.
Faut que je prenne quelques minutes pour me créer un compte non root et m'habituer au sudo (car pas mal de tools kali necessitent un acces root smile

Concernant mon pb java, j'arrive à contourner le probleme en entrant cette commande pour lancer JD-GUI :

java --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED -jar /usr/share/jd-gui/jd-gui.jar


Mais c'est pas super propre, j'aimerais bien pouvoir modifier JDK9 pour ajouter cette exception mais débutant en Java je rame un peu... wink

Hors ligne

Pied de page des forums