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 !