J'ai installé Oracle JRE 7 (pas JDK) pour MacOSX mais je n'arrive pas à localiser les fichiers de juridiction JCE.
Je dois les remplacer par la version à force illimitée.
Votre commentaire sur Thom est correct. Le chemin JRE est /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/
, et les fichiers JCE sont alors sous lib/security/
.
Il se trouve que plusieurs JVM sont installées, j'ai donc pensé qu'il valait la peine de montrer un moyen de vérifier si une JVM particulière avait les fichiers appropriés. Voici quelques commandes que vous pouvez utiliser pour déterminer si une installation donnée Java est configurée correctement:
find ~/Downloads/UnlimitedJCEPolicy -name *.jar |xargs md5
cd /Library/Java/JavaVirtualMachines/ # -OR-
cd '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/'
find . \( -name local_policy.jar -or -name US_export_policy.jar \) |xargs md5
Une fois que vous connaissez le chemin d'accès aux fichiers, vous pouvez les remplacer au besoin. Gardez à l'esprit que chaque version de Java peut nécessiter des bibliothèques JCE différentes. Vous pouvez avoir besoin de fichiers JAR séparés pour 6, 7 et 8, selon la compatibilité.
J'ai installé Oracle JDK, et si cela peut aider, le répertoire dans mon cas était /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/security/
. Votre kilométrage peut varier, auquel cas exécutez simplement find . -name local_policy.jar
et voyez ce que ça donne.
C'est pour le JDK, pas le JRE .
Je suis sur un Mac, OSx Lion et j'ai utilisé /usr/libexec/Java_home
pour trouver mon Java home
/usr/libexec/Java_home -V
# Matching Java Virtual Machines (3):
# 1.7.0_51, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
# 1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
# 1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
#
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
/usr/libexec/Java_home
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
/usr/libexec/Java_home -v 1.6
# /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/usr/libexec/Java_home -v 1.7
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
De là, vous pouvez utiliser cet exécutable et trouver pour localiser ces fichiers
find $(/usr/libexec/Java_home -v 1.7) -name local_policy.jar
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/local_policy.jar
find $(/usr/libexec/Java_home -v 1.7) -name US_export_policy.jar
# /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/US_export_policy.jar
Et combinez cela avec la réponse de @ ngreen pour obtenir le md5 de ces fichiers (si vous le souhaitez)
find ~/Downloads/UnlimitedJCEPolicy -name *.jar |xargs md5
# MD5 (/Users/nperry/Downloads/UnlimitedJCEPolicy/local_policy.jar) = 9dd69bcc7637d872121880c35437788d
# MD5 (/Users/nperry/Downloads/UnlimitedJCEPolicy/US_export_policy.jar) = 3bb2e88a915b3cb003ca185357a92c16
find $(/usr/libexec/Java_home -v 1.7) -name local_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/local_policy.jar) = f41ab8f64b1fa13fec7276579c420951
find $(/usr/libexec/Java_home -v 1.7) -name US_export_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/US_export_policy.jar) = d5d126ae15abecb7d6e3a28b0d57543e
Et vous pouvez voir que je n'ai pas encore remplacé ces fichiers.
Sauvegardez les fichiers d'origine si vous le souhaitez
mkdir ~/Downloads/JCEPolicy-originals-1.7/
cp $(find $(/usr/libexec/Java_home -v 1.7) -name local_policy.jar) ~/Downloads/JCEPolicy-originals-1.7/
cp $(find $(/usr/libexec/Java_home -v 1.7) -name US_export_policy.jar) ~/Downloads/JCEPolicy-originals-1.7/
Vous pouvez remplacer les fichiers par ceci.
Sudo cp ~/Downloads/UnlimitedJCEPolicy/local_policy.jar $(find $(/usr/libexec/Java_home -v 1.7) -name local_policy.jar)
Sudo cp ~/Downloads/UnlimitedJCEPolicy/US_export_policy.jar $(find $(/usr/libexec/Java_home -v 1.7) -name US_export_policy.jar)
Et obtenir les MD5 me dit si ça a marché
find $(/usr/libexec/Java_home -v 1.7) -name local_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/local_policy.jar) = 9dd69bcc7637d872121880c35437788d
find $(/usr/libexec/Java_home -v 1.7) -name US_export_policy.jar | xargs md5
# MD5 (/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/security/US_export_policy.jar) = 3bb2e88a915b3cb003ca185357a92c16