Voilà j'ai plusieurs versions de Java installé sur mon PC. Certaines applications ne tournent pas sur Java 1.5. Avant d'installer la version 1.5, je pouvais via la console 1.4 choisir le runtime à exécuter. Je ne trouve pas comment faire avec la 1.5![]()
![]()
Voilà j'ai plusieurs versions de Java installé sur mon PC. Certaines applications ne tournent pas sur Java 1.5. Avant d'installer la version 1.5, je pouvais via la console 1.4 choisir le runtime à exécuter. Je ne trouve pas comment faire avec la 1.5![]()
![]()
Quel éditeur utilises-tu ?
Si c'est Eclipse, tu peux changer le JRE dans le dialogue "Run..."
J'utilise Eclipse pour le développement et le test de mes applications. Mais ici il s'agit plus de l'exécution d'application tiers dans un browser tel que IE, Mozilla, ... Je ne pense pas (en fait je ne sais pas) qu'il y a un lien entre l'environnement d'exécution d'Eclipse et celui de IE par ex. Peut-être que je me trompe ??
C'est étonnant que certaines appli ne fonctionnent pas sous java 1.5 alors qu'elles tournent sous java 1.4...
Java assure une compatibilité ascendante...
Ben il semblerait que c'est pas toujours le cas. Une appli tournant sous 1.4 peut avoir de petits problèmes sous 1.5 ... d'après ce que j'ai vu.
Mais ne nous éloignons pas trop de la question initiale![]()
Il a raison, et cela ne s'éloigne pas de la question initiale: tout ce qui tourne sous Java 1.4 tourne sous 1.5.Envoyé par ®om
Tu as sans doute mal installé ton JRE![]()
Tu veux dire le 1.4?
Quand tu exécutes une appli via un browser, il va exécuter ton appli en utilisant le JRE spécifié dans le "Java control panel" (pas la console comme j'ai dit tantôt), non? Maintenant l'appli que je veux exécuter requière le 1.4. Ceci est comme ça, je ne peux pas le changer.![]()
Avant dans la Java control panel, on savait spécifier l'environnement d'exécution. Je sais pas le faire avec celui de la version 1.5. Est-ce normal?
Sachez aussi que des problèmes apparaissant avec 1.4 n'apparaissent pas forcèment avec 1.5. Si je dois fixer un problème avec 1.4, il vaudrait mieux que je puisse utiliser le 1.4 lors de l'exécution de mon appli.![]()
T'es sûr d'avoir compilé en 1.4? Parce que si c'est le cas je vois pas le rapport avec le fonctionnement sur java 5!
Si ce que tu dis était juste ce serait le gros foutoir!
Bon ce n'est pas moi qui ai développé l'application et je n'ai pas accès au code source.
Je voudrais simplement pouvoir choisir le JRE exécuté.![]()
Si tu tapes java dans l'invite de commandes:
where options include:
[...]
-version:<value>
require the specified version to run
D'après les spécifications du W3C, il n'y a rien de standard pour choisir la version de la JRE avec une applet. Dans ce cas je pense que tu peux te diriger sur JNLP.
Attention, la compatibilité ascendante est là mais elle dépend de la version de Java utilisée dans le code lui même.
En effet, la version 1.5 supporte, il me semble, toutes les classes issues de la jdk 1.4 et 1.5.
1.4 supporte toutes les classes issues de la jdk 1.3 et 1.4.
Bref, ce qui tournait sur une JRE 1.4 peut ne plus tourner sous une JRE 1.5.
J'sais po si j'suis clair mais bon, c'était mon petit caillou ajouté à l'édifice
++
ZedroS
Ben tu te contredis un peu là... si la 1.5 supporte toutes les classes de la 1.4, comment ce qui tourne sous 1.4 pourrait ne plus tourner sous 1.5???Envoyé par ZedroS
Si ça ne tourne pas sous 1.5, je soupçonne une API installée dans l'installation 1.4 et pas dans la 1.5 (genre les API que l'on installe dans le répertoire /lib/ext du JRE).
Enfin bon, faudrait voir le message d'erreur pour être sûr...
Non, je m'exprime mal.Envoyé par plegat
La JVM 1.5 supporte les classes des JDK 1.5 et 1.4.
La JVM 1.4 supporte les classes des JDK 1.4 et 1.3.
Par conséquent, une classe de la JKD 1.3 ne tournera pas sur une JVM 1.5 alors qu'elle tournait sur une JVM 1.4.
Ca te semble plus cohérent ainsi ou je me fourvoie lamentablement ?
Mais c'est faux. Si tu lances une applic en Java 1.2 sur une JDK 1.5 eh bien ca va marcher.Envoyé par ZedroS
Tu peux développer stp ?Envoyé par Pollux
Il me semble bien que la compatibilité descendante est assurée que jusqu'à un certain niveau non ? Genre une JVM 1.5 ne fait pas tourner toutes les classes de la JDK 1.0, si ?
Il est vrai qu'en fait je n'ai pas exactement ce genre d'expérience, en fait j'utilise une jdk 1.3, la restriction est donc de ne rien utiliser des jdk1.4/"1.5".
Ceci dit, il me semble bien qu'en cas d'utilisation d'une jdk 1.4 des problèmes se poseraient car certains éléments des JDK précédents (1.2, 1.1) ne fonctionnent alors plus. Du moins c'est l'opinion que j'en ai, je vais tenter de me renseigner plus avant.
J'ai fait des recherches sur le site de Sun et effectivement, il y a quelques incompatibilités entres les versions.
Elles sont très peu nombreuses mais elles existent.
Incompatibilités JDK 1.5 >< 1.4
Incompatibilités JDK 1.4 >< 1.3
Normalement, elle devrait... c'est d'ailleurs pour cela que pas mal de méthodes sont marquée "deprecated" et pas purement et simplement supprimées du JDK.Envoyé par ZedroS
Et normalement on parle de compatibilité "ascendante", non?
Ca, ce n'est pas de la compatibilité, c'est de la logique.Envoyé par ZedroS
Je te vois mal compiler les nouvelles fonctions de la 1.5 avec un jdk 1.3 qui ne sait même pas qu'elles existent!![]()
Hormis les quelques exceptions levées par BoudBoulMan, un jdk 1.4 sait faire tourner un 1.3. Toutes les classes du 1.3 sont connues du 1.4, il a été fait avant, et il y a la compatibilité ascendante à assurer.Envoyé par ZedroS
D'ailleurs, au boulot, je compile sous Solaris en 1.3, et j'exécute sous windows en 1.4. Sans soucis jusqu'à maintenant (sauf que je ne peux pas utiliser les classes du 1.4 vu que je compile en 1.3).
Pas de nouvelles de be_tnt et de son message d'erreur?
Ouaip, j'ai réalisé mon erreur. J'pensais qu'une VM n'exécutait pas toutes les autres VM, de la même façon que les "deprecated" finissent par ne plus être présents.![]()
Merci de m'avoir remis dans le droit chemin![]()
Partager