637 votes

Le téléchargement de Java JDK sur Linux via wget affiche une page de licence à la place.

Lorsque j'essaie de télécharger Java sur le site d'Oracle, je tombe sur une page qui me dit que je dois accepter les conditions de la licence OTN.

Désolé.

Pour pouvoir télécharger les produits d'Oracle Technology Network, vous devez accepter les conditions de licence OTN.

Assurez-vous que...

  • Votre navigateur a activé les "cookies" et JavaScript.
  • Vous avez cliqué sur "Accepter la licence" pour le produit que vous souhaitez télécharger.
  • Vous tentez le téléchargement dans les 30 minutes suivant l'acceptation de la licence.

Comment puis-je télécharger et installer Java ?

1 votes

Cette question est pertinente car elle concerne la manière dont les développeurs installent les kits de développement. Je la rouvre pour cette raison.

1711voto

Irani Points 4926

Fonctionne à partir du 27 juillet 2021 pour JDK 16

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/16.0.2%2B7/d4a915d82b4c4fbb9bde534da945d746/jdk-16.0.2_linux-x64_bin.rpm

Fonctionne à partir du 5 novembre 2020 pour JDK 15

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/15.0.1+9/51f4f36ad4ef43e39d0dfdbaf6549e32/jdk-15.0.1_linux-x64_bin.rpm

Fonctionne depuis le 07-11-2020 pour JDK 14

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/14.0.1+7/664493ef4a6946b186ff29eb326336a2/jdk-14.0.1_linux-x64_bin.rpm -O ~/Downloads/jdk-14.0.1_linux-x64_bin.rpm

PS : Alf a ajouté ceci ( moi ) :-) ceci, je n'ai pas réussi à trouver comment le commenter à la fin... Profitez-en.

Mise à jour pour Oracle JDK 11

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11+28/55eed80b163941c8885ad9298e6d786a/jdk-11_linux-x64_bin.tar.gz

MIS À JOUR POUR JDK 10.0.2

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz

MIS À JOUR POUR JDK 10.0.1

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz

MIS À JOUR POUR JDK 9 il semble que vous pouvez maintenant le télécharger directement depuis java.net sans envoyer d'en-tête.

wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz

MISE À JOUR POUR JDK 8u191

TAR GZ :

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz"

RPM :

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm"

MISE À JOUR POUR JDK 8u131

RPM :

  wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

TAR GZ :

 wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

RPM utilisant curl :

 curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm > jdk-8u112-linux-x64.rpm

Dans tous les cas ci-dessus, remplacez 'i586' par 'x64' pour télécharger la version 32 bits.

  • -j -> biscuits de pacotille
  • -k -> ignorer les certificats
  • -L -> suivre les redirections
  • -H [arg] -> en-têtes

curl peut être utilisé à la place de wget .

MISE À JOUR POUR JDK 7u79

TAR GZ :

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

RPM utilisant curl :

curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm > jdk-7u79-linux-x64.rpm

Une fois encore, assurez-vous de spécifier l'URL correcte pour la version que vous téléchargez. Vous pouvez trouver l'URL ici : Site de téléchargement du JDK d'Oracle

RÉPONSE ORIGINALE DU 9 juin 2012

Si vous cherchez à télécharger le JDK d'Oracle à partir de la ligne de commande en utilisant wget il existe une solution de contournement. Exécutez le wget comme suit :

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"

Veillez à remplacer le lien de téléchargement par celui qui correspond à la version que vous téléchargez.

0 votes

Je suppose qu'il s'agit du même processus que celui présenté dans le document askubuntu.com/a/170958 mais il ne télécharge toujours que ce qui est en fait un fichier HTML, qui me demande simplement d'accepter les conditions de la licence OTN. De plus, il serait bon, si ce n'est pas pour toutes les pages Java séparément, de fournir au moins un lien vers la page principale dans la réponse : oracle.com/technetwork/java/javase/downloads/index.html . Cela facilite grandement la mise à jour du lien pour votre propre ligne de commande.

7 votes

(Peut-être que ce millionième repostage fera enfin l'affaire). Un simple --header "Cookie: oraclelicense=accept-securebackup-cookie" (ou --header "Cookie: oraclelicense=[any-character(s)-but-a-single-space]" ) semble fonctionner correctement. Pourriez-vous le confirmer ?

0 votes

@Det oui nous devons ajouter "oraclelicense=accept-securebackup-cookie" avec le cookie gpw_e24 existant.

256voto

Det Points 657

( Irani mis à jour de ma réponse, mais voici pour clarifier tout ça. )

Edit : Mis à jour pour Java 16.0.1 publié en 20 avril 2021

Wget

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/16.0.1+9/7147401fd7354114ac51ef3e1328291f/jdk-16.0.1_linux-x64_bin.tar.gz

Voir les téléchargements dans oracle.com pour plus.

  • -c / --continue

Permet de poursuivre un téléchargement inachevé.

  • --header "Cookie: oraclelicense=accept-securebackup-cookie"

Depuis 15 mars 2014 ce cookie est fourni à l'utilisateur après l'acceptation de l'offre de l Accord de licence et est nécessaire pour accéder aux paquetages Java dans télécharger.oracle.com . La précédente (et première) implémentation dans 27 mars 2012 fait usage du cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[...] . Les deux cas ne sont pas annoncés au public.

La valeur ne doit pas nécessairement être " accept-securebackup-cookie ".

Non requis

  • --no-cookies

La combinaison --no-cookies --header "Cookie: name=value" est mentionné comme le " officiel Le support du cookie ", mais pas strictement nécessaire ici.

cURL

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O https://download.oracle.com/otn-pub/java/jdk/16.0.1+9/7147401fd7354114ac51ef3e1328291f/jdk-16.0.1_linux-x64_bin.tar.gz
  • -L / --location

Requis pour cURL pour rediriger à travers tous les miroirs.

  • -C / --continue-at -

Voir ci-dessus. cURL requiert le tiret ( - ) à la fin.

  • -b / --cookie "oraclelicense=accept-securebackup-cookie"

Même que -H / --header "Cookie: ..." mais accepte aussi les fichiers.

  • -O

Requis pour cURL pour sauvegarder les fichiers (voir [comparaison de l'auteur][8] pour plus de différences).

2 votes

"tiret précédent" devrait être "tiret suivant l'une ou l'autre forme de l'option" mais c'est un excellent résumé.

1 votes

Eh bien, je l'ai changé en " cURL requiert le tiret ( - ) à la fin. " Cela devrait être assez clair, vu comment l'autre forme de la flag est déjà indiqué dans la commande.

0 votes

Savez-vous comment nous pouvons obtenir le JDK 8u11 au format .tar.gz ? oracle semble ne le fournir qu'au format .exe et il y a des erreurs de checksum lorsque l'on utilise cabextract pour extraire le .exe et le mettre en archive. JRE 8u11 semble exister au format .tar.gz.

37voto

Andrew Gilmartin Points 746

Le téléchargement de Java à partir de la ligne de commande a toujours posé problème. Ce que j'ai fait récemment, c'est d'utiliser FireFox (d'autres navigateurs pourraient fonctionner) pour lancer un téléchargement sur mon ordinateur portable, le mettre en pause (dans la fenêtre des téléchargements), utiliser l'élément de menu "Copier le lien de téléchargement" du menu contextuel affiché pour le fichier en cours de téléchargement. Cette URL peut ensuite être utilisée sur la machine Linux pour télécharger le même fichier. Je pense que l'URL n'a pas beaucoup de temps à vivre. Moche, mais généralement réussi.

0 votes

Oui ça marche. Joli. J'avais mon url comme download.oracle.com/otn-pub/java/jdk/7u9-b05/

3 votes

C'est une question intéressante mais qui ne répond pas à la question. Cliquer sur FireFox est incompatible avec "automatiser le téléchargement".

1 votes

Pas aussi gênant (traduction : impossible) que dans mes navigateurs (au pluriel) aujourd'hui. À environ 10 ou 20 % du chemin, le serveur d'Oracle se déconnectait, me laissant avec un téléchargement tronqué. L'outil CLI reprend au moins là où il s'est arrêté, et finalement l'une des exécutions se termine sans dépassement de temps ni rejet.

19voto

sorin Points 23747

Je sais qu'Oracle a fait tout son possible pour rendre son Java Runtime et son Java SDK aussi difficiles que possible.

Voici quelques guides pour les amateurs de lignes de commande.

Pour les systèmes similaires à Debian (testés sur Debian presser et Ubuntu 12.x+)

su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install --yes oracle-java7-installer
exit

Note : si vous connaissez une méthode meilleure ou plus facile, ajoutez un commentaire, je mettrai le guide à jour.

2 votes

En date du 2013-11-02, les autres méthodes ne sont pas faciles à adapter aux différentes versions. Cette méthode fonctionne quelle que soit la version actuelle et peut être automatisée/scrite/exécutée sans surveillance avec des options apt-get comme "--yes".

0 votes

J'ai essayé cette méthode avec oracle-java8-installer avec --yes, --assume-yes, --force-yes mais à chaque fois l'installation me demande d'accepter le contrat de licence en entrant la clé.

6voto

thejartender Points 2704

Oracle a placé un cookie de prévention sur le lien de téléchargement pour vous forcer à accepter les conditions, même si le contrat de licence d'utilisation de Java indique clairement qu'en utilisant Java, vous acceptez la licence.

La méthode que veut Oracle est que vous le téléchargiez avec un accord. Après cela, ce script peut être modifié pour votre Linux spécifique.

#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Will restart system
#Modify these variables as needed...
tempWork=/tmp/work
locBin=/usr/local/bin
javaUsrLib=/usr/lib/jvm

sudo mkdir -p $javaUsrLib
mkdir -p $tempWork
cd $tempWork

#Extract the download
tar -zxvf $downloadDir/jdk*tar.gz

#Move it to where it can be found...

sudo mv -f $tempWork/jdk* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1/bin/* /usr/bin/

#Update this line to reflect versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"
#Extract the download
tar -zxvf $tempWork/*

#Move it to where it can be found...

sudo mv -f $tempWork/jdk1* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1*/bin/* /usr/bin/
sudo rm -rf $tempWork
#Update this line to reflect newer versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"

if ! grep "JAVA_HOME=$javaUsrLib/jdk1.7.0_03" /etc/environment
then
    echo "JAVA_HOME=$javaUsrLib/jdk1.7.0_03"| sudo tee -a /etc/environment
fi

exit 0

1 votes

Cette réponse suppose que vous utilisez Linux, et que vous voulez l'installer d'une manière/à un endroit non standard, et un tas d'autres choses. Une meilleure réponse serait "suivez simplement les instructions d'installation sur le site de téléchargement" ... à moins que vous n'utilisiez Ubuntu, auquel cas il existe d'autres moyens de le faire.

9 votes

Et en quoi est-il étrange que la réponse suppose Linux alors que le titre de la question inclut Linux ? Le sceipt n'est pas une taille unique étant donné que Linux lui-même n'est pas tel. Étant donné que c'est ma propre réponse à ma propre question, je l'ai testée et elle a fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X