IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

 Java Discussion :

Erreur exécution programme Java


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut Erreur exécution programme Java
    Bonjour,

    En testant la création d'un programme JDAPI (pour oracle forms), j'ai pris un truc existant (qui fonctionne) qu'on m'avait filé y a pas mal de temps et j'ai tenté de le modifier.

    Je compile tout à la main.

    Mon script de compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @ECHO OFF
    SETLOCAL
     
      SET ORACLE_HOME=D:\Oracle\Middleware\Oracle_FRHome1
      SET PATH=%ORACLE_HOME%\BIN;%ORACLE_HOME%\jdk\bin\;%PATH%
     
      SET CLASSPATH=%ORACLE_HOME%\forms\java\frmjdapi.jar;%ORACLE_HOME%\forms\java\frmall.jar;%CLASSPATH%
     
      javac %1
     
    ENDLOCAL
    Quand je le lance à travers DOS (en étant directement dans le répertoire où se situe ma JDK et donc javac), aucun souci.

    J'obtiens bien un .class, sans erreur de compilation.

    Par contre à l'exécution :

    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
    Exception in thread "main" java.lang.UnsupportedClassVersionError: WindowBlanc :
     Unsupported major.minor version 51.0
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
    1)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
            at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    Could not find the main class: WindowBlanc.  Program will exit.
    En ayant fait quelque recherche je suis tombé sur un sujet sur ce forum qui expliquait que cette erreur apparait parce que les versions de java ne sont pas les même entre le compilateur et l'exécutable.

    Mais j'ai vérifié (gestionnaires d'applications) et je ne dispose que de la version 7u51 en JDK et JRE.
    Quand je fais un java - version j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
    Un javac -version :

    Donc a priori pas de problème jusque là.

    Résultat je suis un peu perdu.

    Je travaille sur un windows server 2008 64bits qui dispose d'une JDK 7u51 en 64 bits et d'une JRE 7u51 en 32 et 64 bits.
    Je viens de désinstaller la version 32 bits et même combat.

    Une idée ? Merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu n'aurais pas un client oracle installé quelque part qui met le bordel dans l'ensemble avec une version antérieure de java planquée?

    Comment lances tu ton application?
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Merci de votre réponse.

    Non, aucun autre programme Oracle que forms 11G et le serveur weblogic qui est nécessaire à l'exécution. Le serveur que j'utilise a été monté spécialement pour ça, donc il n'y a vraiment que ça.

    Ce qui est étonnant c'est que j'ai d'autre programme java, qui eux fonctionnent sans souci (mais que je n'ai pas recompilé récemment par contre)

    Et l'installation s'est faite sur le JDK 7u51.

    Normalement il n'y a strictement rien d'autre.

    Je lance mon application à travers un batch.

    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
    17
    @ECHO OFF
    SETLOCAL
     
      SET REP_REF=D:\java\Ecran\
     
      SET ORACLE_HOME=D:\Oracle\Middleware\Oracle_FRHome1\
      SET PATH=%ORACLE_HOME%\BIN;%ORACLE_HOME%\jdk\bin\;%PATH%
     
      SET CLASSPATH=%ORACLE_HOME%\forms\java\frmjdapi.jar;%ORACLE_HOME%\forms\java\frmall.jar;%CLASSPATH%
     
    cd D:\java\fonction
        for %%x in ("%REP_REF%*.fmb") do (
           echo %%x
           %ORACLE_HOME%\jdk\bin\java WindowBlanc %%x
        )
     
    ENDLOCAL

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Et que renvoi la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %ORACLE_HOME%\jdk\bin\java -version

    a++

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    51,0 c'est java 7. Donc ça dit que tu lance ton programme avec une version plus ancienne que java 7. Quelle est la ligne de commande que tu utilise pour lancer ton programme?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par jeremzzz Voir le message
    cd D:\java\fonction
    for %%x in ("%REP_REF%*.fmb") do (
    echo %%x
    %ORACLE_HOME%\jdk\bin\java WindowBlanc %%x
    )
    [/CODE]
    La réponse était là Tchize_
    Et ta question m'a bien aidé

    Le dossier java d'Oracle n'est pas en 7u51 mais en 6u35, à savoir la version par défaut qu'il me propose d'installer si Java n'est pas sur le poste client qui exécute forms.

    La commande d'Adiguba m'a permis de la voir

    Je n'ai pas tout compris parce que dans mon script de compilation j'ai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET PATH=%ORACLE_HOME%\BIN;%ORACLE_HOME%\jdk\bin\;%PATH%
    Et dans mon script d'exécution j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET PATH=%ORACLE_HOME%\BIN;%ORACLE_HOME%\jdk\bin\;%PATH%
    %ORACLE_HOME%\jdk\bin\java WindowBlanc %%x
    Donc je ne comprends pas pourquoi il n'utilise pas la même version ...

    Ceci dit, j'ai modifié les deux pour mettre le chemin en dur vers la JDK dans la compilation et la JRE dans le script d'exécution, et ça a fonctionné parfaitement.

    Dernière petite question : la jdk permet aussi d'exécuter ou juste de compiler ? Est-ce que j'ai forcément besoin d'une JRE ?

    Merci à vous tous

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    la jre est inclue dans la jdk

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    Merci bien pour la réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/04/2015, 07h35
  2. Erreur lors d'exécution d'un programme Java
    Par goldray dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 12/09/2013, 16h18
  3. Problème d'exécution programme Java
    Par cocorico88 dans le forum Général Java
    Réponses: 3
    Dernier message: 16/11/2009, 10h38
  4. erreur dans programme java sur des vecteurs 3D
    Par HighSchool2005 dans le forum Langage
    Réponses: 18
    Dernier message: 15/02/2007, 17h38
  5. Réponses: 5
    Dernier message: 16/03/2006, 01h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo