Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre régulier
    Erreur Hibernate : unable to make field private final java.util.ArrayList
    Bonjour,

    J'essaie de mettre hibernate au sein d'un projet JEE via l'IDE Eclipse. J'ai installé le plugin hibernate tools et quand j'essaie de créer une "hibernate console configuration", j'ai l'erreur ci-dessous qui apparait. Il est à noter que j'utilise le système Ubuntu et l'openjdk 1.8.


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.ArrayList jdk.internal.loader.URLClassPath.loaders accessible: module java.base does not "opens jdk.internal.loader" to unnamed module @76783608
    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.Field.checkCanSetAccessible(Field.java:176)
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)
    at org.hibernate.console.ConsoleConfigClassLoader.closeClassLoader(ConsoleConfigClassLoader.java:190)
    at org.hibernate.console.ConsoleConfigClassLoader.close(ConsoleConfigClassLoader.java:43)
    at org.hibernate.console.ConsoleConfiguration.cleanUpClassLoader(ConsoleConfiguration.java:163)
    at org.hibernate.console.ConsoleConfiguration.reinitClassLoader(ConsoleConfiguration.java:182)
    at org.hibernate.console.ConsoleConfiguration.buildWith(ConsoleConfiguration.java:238)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:123)
    at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:64)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104)
    at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:232)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)


    Je suis complètement perdu et je vous remercie d'avance pour l'aide apportée.

    Cordialement,

    Vinz

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    Citation Envoyé par vinou33 Voir le message
    le système Ubuntu et l'openjdk 1.8.


    java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.ArrayList jdk.internal.loader.URLClassPath.loaders accessible: module java.base does not "opens jdk.internal.loader" to unnamed module @76783608
    C'est du java 9 et non pas 8.

    A+.

  3. #3
    Membre régulier
    Merci pour la réponse. Je vais voir ce soir ou demain soir pour désinstaller openJDK et mettre une version 9 ou 10.

  4. #4
    Rédacteur/Modérateur

    Ce que je voulais dire, c'est que ça tourne sur java 9 et non pas 8 comme tu le penses.

    A+.

  5. #5
    Membre régulier
    Je suis un peu perdu... Je dois faire quoi alors ? Si j'installe le jdk 9, cela ne résoudra pas le problème ?

  6. #6
    Rédacteur/Modérateur

    Ce que je veux dire c'est que c'est déjà java 9 qui est utilisé mais pas java 8. Comment tu lances ton application? Tu dois ajouter au VM Configuration l'argument

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    --add-opens java.base/java.util=ALL-UNNAMED


    A+.

  7. #7
    Membre régulier
    C'est une application web. Je la lance avec tomcat via Eclipse. Comment je fais pour faire l'ajout au vm stp ?

  8. #8
    Rédacteur/Modérateur

    Double clique sur le serveur, --> Open launch configuration --> Arguments

  9. #9
    Membre régulier
    Merci, je teste ce soir.

  10. #10
    Membre régulier
    Bon ben cela ne marche pas... J'ai mis
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     --add-opens java.base/java.util=ALL-UNNAMED


    ce qui me donne :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    -Dcatalina.base="/home/vinou/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0" -Dcatalina.home="/home/vinou/apache-tomcat-9.0.6" -Dwtp.deploy="/home/vinou/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps" -Djava.endorsed.dirs="/home/vinou/apache-tomcat-9.0.6/endorsed" --add-opens java.base/java.util=ALL-UNNAMED


    Néanmoins, j'ai ce retour au niveau du serveur:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Unrecognized option: --add-opens
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.


    Qu'ai je mal fait par hasard ?

    Note: au niveau du terminal (en dehors d'Eclipse), quand je tape java -version, j'ai bien le jdk 8:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    java -version
    openjdk version "1.8.0_162"
    OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-0ubuntu0.16.04.2-b12)
    OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

  11. #11
    Rédacteur/Modérateur

    Essaie avec
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     --add-opens=java.base/java.util=ALL-UNNAMED

    Sinon, double clique sur le serveur --> Runtime Environment et dites ce qu'il y a sur le JRE. Et quelle version d'Eclipse tu utilises?

    A+.

  12. #12
    Membre régulier
    Bonsoir. Alors, j'ai tenté aussi et j'obtiens:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Unrecognized option: --add-opens=java.base/java.util=ALL-UNNAMED
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.


    Pour ce qui est d'Eclipse, j'utilise :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Eclipse Java EE IDE for Web Developers.
     
    Version: Oxygen.3 Release (4.7.3)


    Pour le serveur:
    j'ai en répertoire d'installation : /home/vinou/apache-tomcat-9.0.6 pis pour le JRE, c'est le JDK8 situé dans /usr/lib/jvm/java-1.8.0-openjdk-amd64. Au niveau des librairies :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    charsets.jar, jce.jar, resources.jar,  jsse.jar,  rt.jar , cldrdata.jar, jaccess.jar, sunec.jar, zipfs.jar, dnsns.jar, localedata.jar, sunjce_provider.jar, icedtea-sound.jar, nashorn.jar, sunpkcs11.jar


    Je vous remercie pour votre aide.

    Vinz

  13. #13
    Rédacteur/Modérateur

    C'est bizarre que tu as cette erreur or que tu es sur java 8.

  14. #14
    Membre régulier
    En fait, je n'ai pas l'erreur sur le lancement vu que l'application n'est pas encore lançable. C'est quand j'essaie de créer une console hibernate avec le plugin

###raw>template_hook.ano_emploi###