Moutain Lion et java, je n'y comprends rien...

KilEstBoLeMac

Membre actif
18 Mai 2004
276
8
Bonjour à toutes et tous,

je me permet de poster car cela fait deux jours que je cherche mais que je ne trouve rien, il y a bien des explications, mais aucune solution réelle expliquée, ou fonctionnelle.

Le problème:
J'ai pas mal d'application de mes fournisseurs qui travaille avec Java Web Start (fichier .jnlp)
Depuis Mac OS X Moutain Lion, toutes mises à jour effectuées, dont Java (Mac officiel uniquement), impossible de lancer les jnlp.
Un message d'erreur me disant
"Pour ouvrir cette application Web Start, téléchargez l'environnement Java Runtime Envrionnement" et me propose un lien qui atterri chez Oracle, me proposant de télécharger Java 7.
Je télécharge, j'installe, je relance mon jnlp, pareil, même message d'erreur. (voir copie écran 1)

En console, voici la sortie d'un "java -version"
Bloc de code:
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)

Après quelques recherches, je suis tombé sur ce document Apple:
http://support.apple.com/kb/HT5559?viewlocale=en_US
Mais pas plus de succès.

Bref, si quelqu'un pourrait éclairer ma lanterne, ce serait super gentil :up:

D'avance merci à vous.

Quelques liens que j'ai trouvé mais qui n'ont pas eu plus de succès:
http://apple.stackexchange.com/ques...vaws-not-find-the-jre-with-apples-java-for-os
http://stackoverflow.com/questions/...-8-2-with-native-apple-java-1-6-cant-find-jre
http://www.java.com/en/download/faq/java_mac.xml
 
Dans le Terminal, si tu tapes
Bloc de code:
which javaws
, qu'est-ce que ça dit ?
 
Pendant qu'on y est :
Bloc de code:
ls -l /usr/bin/javaws
et
Bloc de code:
locate javaws
 
lrwxr-xr-x 1 root wheel 59 11 mar 18:12 /usr/bin/javaws -> /System/Library/Frameworks/JavaVM.framework/Commands/javaws

et

/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/javaws
/System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/Documentation/man/javaws.1
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/javaws
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/javaws
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/man/javaws.1
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libmacjavaws.jnilib
/System/Library/Java/Support/Deploy.bundle/Contents/Home/bin/javaws
/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/javaws.jar
/System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/security/javaws.policy
/System/Library/Java/Support/Deploy.bundle/Contents/MacOS/javaws
/System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/javaws.jar
/System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/libmacjavaws.jnilib
/usr/bin/javaws
/usr/share/man/man1/javaws.1

Merci beaucoup ;)
 
Donc tu as tous les éléments mais un des liens symboliques est manquant ou erroné : il faut trouver lequel ;)

Peux-tu passer ces commandes :
Bloc de code:
ls -l /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/javaws
ls -l /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/javaws
ls -l /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/javaws
ls -l /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar
ls -l /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libmacjavaws.jnilib
ls -l /System/Library/Java/Support/Deploy.bundle/Contents/Home/bin/javaws
ls -l /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/javaws.jar
ls -l /System/Library/Java/Support/Deploy.bundle/Contents/MacOS/javaws
ls -l /System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/javaws.jar
ls -l /System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/libmacjavaws.jnilib
 
Merci pour ta réponse:

Voilà les sorties respectives:

Bloc de code:
-rwxr-xr-x  1 root  wheel  49456 11 mar 12:13 /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/javaws
lrwxr-xr-x  1 root  wheel  67 11 mar 12:13 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/javaws -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/bin/javaws
lrwxr-xr-x  1 root  wheel  67 11 mar 12:13 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/javaws -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/bin/javaws
lrwxr-xr-x  1 root  wheel  71 11 mar 12:13 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/javaws.jar -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/javaws.jar
lrwxr-xr-x  1 root  wheel  86 11 mar 12:13 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libmacjavaws.jnilib -> /System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/libmacjavaws.jnilib
lrwxr-xr-x  1 root  wheel  18 11 mar 12:13 /System/Library/Java/Support/Deploy.bundle/Contents/Home/bin/javaws -> ../../MacOS/javaws
lrwxr-xr-x  1 root  wheel  31 11 mar 12:13 /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/javaws.jar -> ../../Resources/Java/javaws.jar
-rwxr-xr-x  1 root  wheel  205856 11 mar 12:13 /System/Library/Java/Support/Deploy.bundle/Contents/MacOS/javaws
-rw-r--r--  1 root  wheel  519677  2 mar 02:27 /System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/javaws.jar
-rwxr-xr-x  1 root  wheel  111616 11 mar 12:13 /System/Library/Java/Support/Deploy.bundle/Contents/Resources/Java/libmacjavaws.jnilib

A noter que j'ai ce problème sous n'importe quel 10.8.2, j'ai essayé sur un fraîchement installé, non-bidouillé avec java7.

Encore merci :)
 
Où l'on voit que le fichier "/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws" est mal défini.

Ce matin j'utilise mon MBP sur lequel Java Web Start n'était pas activé (même situation que la tienne). J'ai donc créé ce qui me paraît le bon lien avec la commande suivante :
Bloc de code:
sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/MacOS/javaws /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws
Et ça me paraît mieux marcher (disons que la commande javaws répond correctement mais je n'ai pas de quoi faire un test).

Au cas où, tu peux faire une petite sauvegarde du fichier "/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws" initial, avec la commande
Bloc de code:
sudo cp /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws.bkp
Les commandes sont normalement peu agressives mais mieux vaut avoir une sauvegarde à jour au cas où, dans la mesure où l'on utilise sudo et qu'un espace ou une erreur peuvent être fatals.
 
Oki merci, j'ai donc exécuter tes commandes, le backup puis le lien symbolique.

En démarrant le .jnlp, j'ai la même erreur:
"Pour ouvrir <mon jnlp>, téléchargez l'environnement Java Runtime Environment pour les applications Web Start."

Merci de tes efforts et de ton temps.
 
Bon. C'est assez retors, en fait. C'est dû à la protection contre les failles de Java.

Suite à ce judicieux post sur les forums d'Apple, je suis allé voir le fichier "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist". Sur mon MBP ça donne ceci :
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>JavaWebComponentVersionMinimum</key>
    <string>1.6.0_41-b02-446</string>
    <key>LastModification</key>
    <string>Mon, 11 Mar 2013 00:24:36 GMT</string>
    <key>PlugInBlacklist</key>
    <dict>
        <key>10</key>
        <dict>
            <key>com.macromedia.Flash Player.plugin</key>
            <dict>
                <key>MinimumPlugInBundleVersion</key>
                <string>11.6.602.171</string>
            </dict>
            <key>com.oracle.java.JavaAppletPlugin</key>
            <dict>
                <key>MinimumPlugInBundleVersion</key>
                <string>1.7.15.04</string>
            </dict>
        </dict>
    </dict>
    <key>Version</key>
    <integer>2033</integer>
</dict>
</plist>
C'est curieux que la version de Java installée sur mon système ne soit pas valide mais baste. Ce qui est sûr c'est qu'en virant la vérification pour ma version de Java (Java 6), ça a bien voulu fonctionner.
Ce que je crains est que ça ne fonctionne plus à la prochaine mise à jour du fichier par Apple (ça se passe en douce).

Bref, pour que ça marche, soit tu mets la version de ton Java (chez moi :
Bloc de code:
java version "1.6.0_41"
Java(TM) SE Runtime Environment (build 1.6.0_41-b02-445-11M4107)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-445, mixed mode)
donc j'ai remplacé 446 par 445...
Soit tu supprimes carrément la vérification :
Bloc de code:
...
<dict>
<!--
    <key>JavaWebComponentVersionMinimum</key>
    <string>1.6.0_41-b02-446</string>
-->
    <key>LastModification</key>
...
Il faut être prudent, quand même, car ça touche à la sécurité de ta machine (en clair, on ouvre une faille). Faire une sauvegarde du fichier auparavant en cas de carabistouille.

---------- Nouveau message ajouté à 15h29 ---------- Le message précédent a été envoyé à 15h18 ----------

Finalement, je viens de voir qu'il y avait une mise à jour de Java disponible pour mon système, je l'ai installée, j'ai recréé le lien symbolique (cf. #8) et tout marche sans modifier le fichier "XProtect.meta.plist".
 
Bon, alors pas plus de succès.

J'ai essayé de mettre la version, qui effectivement était en 1.7

Original:

Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>LastModification</key>
        <string>Tue, 15 Jan 2013 19:36:01 GMT</string>
        <key>PlugInBlacklist</key>
        <dict>
                <key>10</key>
                <dict>
                        <key>com.macromedia.Flash Player.plugin</key>
                        <dict>
                                <key>MinimumPlugInBundleVersion</key>
                                <string>11.3.300.271</string>
                        </dict>
                        <key>com.oracle.java.JavaAppletPlugin</key>
                        <dict>
                                <key>MinimumPlugInBundleVersion</key>
                                <string>1.7.10.19</string>
                        </dict>
                </dict>
        </dict>
        <key>Version</key>
        <integer>2027</integer>
</dict>
</plist>
Mon java -version

Bloc de code:
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode)
Le nouveau fichier:

Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>LastModification</key>
        <string>Tue, 15 Jan 2013 19:36:01 GMT</string>
        <key>PlugInBlacklist</key>
        <dict>
                <key>10</key>
                <dict>
                        <key>com.macromedia.Flash Player.plugin</key>
                        <dict>
                                <key>MinimumPlugInBundleVersion</key>
                                <string>11.3.300.271</string>
                        </dict>
                        <key>com.oracle.java.JavaAppletPlugin</key>
                        <dict>
                                <key>MinimumPlugInBundleVersion</key>
                                <string>1.6.0_43-b01-447</string>
                        </dict>
                </dict>
        </dict>
        <key>Version</key>
        <integer>2027</integer>
</dict>
</plist>
Mais j'ai toujours l'erreur lors de l'ouverture du jnlp. Zut. :mouais:

Je veux pas non plus te faire perdre ton temps... C'est déjà super sympa d'avoir regardé! :up:

Mais je m'étonne d'être le seul dans cette situation. :confused:
 
Là, tu as changé la partie Oracle (à partir de Java 7) donc ça n'aura aucun effet pour ton installation de Java 6 [mais ça va empêcher aussi Java 7 de fonctionner ;) ]

À part ça, tu as bien la bonne version de Java 6 (la dernière).
Là, je sèche un peu. :rateau:
 
  • J’aime
Réactions: KilEstBoLeMac