При загрузке Java JDK в Linux через wget вместо этого отображается страница лицензии

567

Когда я пытаюсь загрузить Java из Oracle, я вместо этого загружаю страницу, сообщающую мне, что мне нужно согласие с условиями лицензии OTN.

К сожалению!

Чтобы загрузить продукты из Oracle Technology Network, вы должны согласиться с условиями лицензии OTN.

Убедитесь, что...

  • В вашем браузере есть файлы cookie и JavaScript.
  • Вы нажали "Принять лицензию" для продукта, который хотите загрузить.
  • Вы пытаетесь выполнить загрузку в течение 30 минут после принятия лицензии.

Как загрузить и установить Java?

  • 2
    Есть ли конкретная причина, по которой вы не используете apt-get для его установки?
  • 0
    @Perception Извините, это вопрос с самостоятельным ответом, который я написал, чтобы дать ответ людям, которые, без сомнения, разочарованы тем, что сделал Oracle ...
Показать ещё 1 комментарий
Теги:
wget
install

25 ответов

1629
Лучший ответ

ОБНОВЛЕНО ДЛЯ 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

ОБНОВЛЕНО ДЛЯ 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

ОБНОВЛЕНО ДЛЯ 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

ОБНОВЛЕНО ДЛЯ JDK 9 похоже, что вы можете скачать его прямо сейчас с java.net без отправки заголовка

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

ОБНОВЛЕНО ДЛЯ 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"

ОБНОВЛЕНО ДЛЯ 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 с использованием 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

Во всех вышеперечисленных случаях подставьте "i586" вместо "x64", чтобы загрузить 32-разрядную сборку.

  • -j → нежелательное печенье
  • -k → игнорировать сертификаты
  • -L → следовать перенаправлениям
  • -H [arg] → заголовки

curl можно использовать вместо wget.

ОБНОВЛЕНИЕ ДЛЯ 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 с использованием 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

Еще раз убедитесь, что вы указали правильный URL для версии, которую вы загружаете. Вы можете найти URL здесь: сайт загрузки Oracle JDK

ОРИГИНАЛЬНЫЙ ОТВЕТ ОТ 9 июня 2012

Если вы хотите загрузить Oracle JDK из командной строки с помощью wget, существует обходной путь. Запустите команду wget следующим образом:

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"

Обязательно замените ссылку для загрузки верной ссылкой для версии, которую вы загружаете.

  • 0
    работает, чтобы загрузить прямой RPM также! Просто измените URL ... спасибо!
  • 1
    wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u10-b18/jdk-7u10-linux-x64.rpm" для файла RPM x64.
Показать ещё 49 комментариев
255

(Иранский обновил мой ответ, но здесь, чтобы уточнить все это.)

Редактировать: Обновлено для Java 11.0.1, выпущено 16 октября 2018

Wget

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz

JRE 8u191 (без флагов файлов cookie): http://javadl.oracle.com/webapps/download/AutoDL?BundleId=235717_2787e4a523244c269598db4e85c51e0c
Смотрите загрузки в oracle.com и java.com для получения дополнительной информации.

  • -c / --continue

    Позволяет продолжить незаконченную загрузку.

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

    С 15 марта 2014 года этот файл cookie предоставляется пользователю после принятия лицензионного соглашения и необходим для доступа к пакетам Java на сайте download.oracle.com. В предыдущей (и первой) реализации 27 марта 2012 года использовался файл cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[...]. Оба случая остаются необъявленными для общественности.

    Значение не обязательно должно быть " accept-securebackup-cookie ".

Требуется для Wget <1.13

  • --no-check-certificate

    Требуется только с wget 1.12 и более ранними версиями, которые не поддерживают сертификаты Subject Alternative Name (SAN) (в основном Red Hat Enterprise Linux 6.x и его друзей, таких как CentOS). 1.13 был выпущен в августе 2011 года.

    Чтобы увидеть текущую версию, используйте: wget --version | head -1 wget --version | head -1

Не требуется

  • --no-cookies

    Комбинация --no-cookies --header "Cookie: name=value" упоминается как " официальная " поддержка cookie, но здесь это строго не требуется.

завивать

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
  • -L / --Location

    Требуется, чтобы cURL перенаправлял через все зеркала.

  • -c / --continue-at -

    Смотри выше. cURL требует черту (-) в конце.

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

    То же, что -H / --header "Cookie:...", но принимает и файлы.

  • -O

    Требуется для cURL для сохранения файлов (см. Сравнение авторов для большего различия).

  • 2
    «предыдущая черта» должна быть «чертой после любой формы опции», но это превосходное обобщение.
  • 1
    Ну, я изменил его на « cURL требует черту ( - ) в конце». Это должно быть достаточно ясно, если принять во внимание, как другая форма flag уже показана в команде.
Показать ещё 28 комментариев
27

Загрузка Java из командной строки всегда была проблематичной. То, что я делал, это использовать FireFox (другие браузеры могут работать), чтобы загрузить загрузку на моем ноутбуке, приостановите ее (в окнах загрузки), используйте пункт меню "Копировать ссылку на скачивание" в контекстном меню, отображаемом для загрузка файла. Затем этот URL-адрес можно использовать в поле Linux для загрузки того же файла. Я ожидаю, что у URL есть короткое время для жизни. Уродливый, но в целом успешный.

  • 0
    Да .. это работает Ницца. У меня был мой URL-адрес, как download.oracle.com/otn-pub/java/jdk/7u9-b05/…
  • 0
    Отлично, большое спасибо, ни один из других методов (загрузка файлов cookie и т. Д.) Не помог мне. Но этот работал как шарм.
Показать ещё 6 комментариев
22

Обновлено для JDK 8u171 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm

Устаревшие ссылки ниже

Обновлено для JDK 8u161 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

Обновлено для JDK 8u152 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.rpm

Обновлено для JDK 8u144 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm

Обновлено для JDK 8u131 об/мин

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

Обновлено для JDK 8u121 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm

  • 2
    Этот абсолют помог мне. Чтобы использовать tar.gz, мне просто пришлось переименовать .rpm в .tar.gz
  • 0
    Этот работает. Измените расширение с .rpm на .tar.gz, чтобы получить другую версию файлов.
Показать ещё 2 комментария
17

Я знаю, что Oracle сделал все возможное, чтобы сделать их Java Runtime и Java SDK как можно труднее.

Вот несколько руководств для любителей командной строки.

Для систем типа Debian (проверено на Debian сжатие и 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

Примечание: если вы знаете, что лучше или проще добавить комментарий, я обновлю руководство.

  • 2
    По состоянию на 2013-11-02 другие методы нелегко настроить с помощью различных версий. Этот метод работает, какой бы ни была текущая версия, и может быть автоматизирован / скриптован / запущен без присмотра с параметрами apt-get, такими как --yes.
  • 0
    Опробовал этот метод с помощью oracle-java8-installer с --yes, --assume-yes, --force-yes но при каждой установке мне нужно принять лицензионное соглашение с enter-key.
6

Java SE Development Kit 8u191

TAR GZ:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://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%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm"
6

Для тех, кто нуждается в JCE8, вы также можете загрузить его.

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

или

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip
6

последние испытания,

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

Помните, что проверка сертификата отключена, если вам нужна абсолютная безопасность.:)

  • 0
    Это сработало для меня.
  • 0
    Спасибо, это сработало у меня, воспользовавшись этой командой: $ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24 = http% 3A% 2F% 2Fwww.oracle.com" " download.oracle.com / otn-pub / java / jdk / 8u51-b16 /… "
6

Oracle поставила cookie-предупреждение в ссылку для загрузки, чтобы заставить вас согласиться на условия, даже если лицензионное соглашение на использование Java четко заявляет, что просто используя Java, вы соглашаетесь с лицензией.

Метод, который хочет Oracle, - это загрузить его с помощью соглашения. После этого этот script cn будет изменен для вашего конкретного Linux

#!/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
    Этот ответ предполагает, что вы используете Linux, и что вы хотите установить его нестандартным способом / местом, и кучу других вещей. Лучшим ответом будет «просто следуйте инструкциям по установке на веб-сайте загрузки» ... если только вы не используете Ubuntu, в этом случае есть другие способы сделать это.
  • 7
    И как это странно, что ответ предполагает Linux, когда заголовок вопроса включает Linux? Сценарий не является универсальным, учитывая, что сам Linux не таков. Учитывая, что это мой собственный ответ на мой собственный вопрос, я проверил его, и это сработало для меня.
Показать ещё 1 комментарий
5

Это работает для JDK 6, вам просто нужно заменить URL-адрес загрузки на последнюю версию.

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6-downloads-1637591.html;" http://download.oracle.com/otn-pub/java/jdk/6u33-b03/jdk-6u33-linux-x64.bin
  • 0
    Это работает, но я не мог выбрать 6u48, потому что часть, где у вас есть 6u33-b03.
  • 0
    На 2013-11-02, не может быть, чтобы это работало. Загружает страницу регистрации HTML вместо файла.
4

Вместо того, чтобы использовать для каждой новой версии Java новую ссылку или изменять существующие сценарии, я искал более общий способ автоматизации загрузки необходимых пакетов Java и последующей установки с помощью yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm.

Я использовал какой-то тривиальный подход, подобный ручному/пользовательскому действию, чтобы найти пакет и загрузить его. Я также почти уверен, что можно найти более элегантный способ сделать это, используя другие инструменты, такие как egrep, awk и т.д., Поэтому оставьте это в качестве примера здесь:

#!/bin/bash

### Proxy settings
# If there is a company proxy 

PROXY="my.proxy.local:8080"
PROXY_TYPE="--proxy-ntlm" # or leave empty with ""
USER="user"
PASS='pass'

### Find out the links to JRE and JDK 
# To do so, got to the page http://www.oracle.com/technetwork/java/javase/downloads/

BASE_URL="technetwork/java/javase/downloads"

# Put the whole page into a single string/line

BASE_URL_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L0 http://www.oracle.com/${BASE_URL}/)"

# Define the environments to download 

JAVA_ENVIRONMENTS=("JRE" "JDK") # ! yet "SERVER-JRE"

for JAVA_ENVIRONMENT in "${JAVA_ENVIRONMENTS[@]}"
do

echo
echo "JAVA_ENVIRONMENT="$JAVA_ENVIRONMENT
echo

for (( JAVA_BASE_VERSION = 8; JAVA_BASE_VERSION <= 10; JAVA_BASE_VERSION += 2 ))  
do

echo "JAVA_BASE_VERSION="$JAVA_BASE_VERSION

### "Read the page"
# and follow the links for the package interested in 

DOWNLOAD_SITE="$(echo $BASE_URL_OUTPUT | grep -m 1 -io "${JAVA_ENVIRONMENT}${JAVA_BASE_VERSION}-downloads-[0-9]*.html" -- | tail -1)"
echo "DOWNLOAD_SITE="$DOWNLOAD_SITE

### Gather the necessary download links
# To do so, following the link to the download site
# reading and accept the license 
# 
# ... the greedy regular expression is to address the different syntax of the links
# and already prepared for OR .gz files 

DOWNLOAD_LINK_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L -j -H "Cookie: oraclelicense=accept-securebackup-cookie" http://www.oracle.com/${BASE_URL}/${DOWNLOAD_SITE} |  grep -io "filepath.*${JAVA_ENVIRONMENT}-[${JAVA_BASE_VERSION}].*linux[-_]x64[._].*\(rpm\)" -- | cut -d '"' -f 3 | tail -1)"

# and echo out the link

echo "DOWNLOAD_LINK_OUTPUT="$DOWNLOAD_LINK_OUTPUT

done

done

Поскольку ссылки для скачивания доступны уже сейчас, можно продолжить с помощью wget или curl.

3

Как уже размещено здесь: https://stackoverflow.com/questions/5104817/how-to-install-java-sdk-on-centos

Обновление для обновления JDK 8 121

Так как Oracle вставил некоторые md5hash в свои ссылки для скачивания, невозможно автоматически собрать ссылку для загрузки для командной строки.

Итак, я применил некоторую неприятную командную строку bash, чтобы получить последнюю ссылку для загрузки jdk, загрузить ее и напрямую установить через rpm. Для всех, кто заинтересован:

wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O./index.html && & && grep -Eoi '] + > ' index.html | grep -Eoi '/technetwork/java/javase/downloads/jdk8-downloads-[0-9]+.html' | (head -n 1) | awk '{print " http://www.oracle.com" $1}' | xargs wget --no-cookies --header "Cookie: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -O index.html -q && & grep -Eoi ' "filepath": "[^" ] + jdk-8u [0-9] + - linux-x64.rpm "' index.html | grep -Eoi 'http: [^" ] + '| xargs wget --no-cookies --header "Cookie: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -q -O./jdk8.rpm && sudo rpm -i./jdk8.rpm

жирная часть должна быть заменена пакетом по вашему вкусу.

  • 0
    Да, уже не так просто собрать ссылку. Я использовал аналогичный подход в скрипте bash, чтобы получить последние ссылки на скачивание JRE и JDK для версий 8 и 9. Его можно найти в этой теме в качестве ответа .
3

Все вышеизложенное, похоже, предполагает, что вы знаете URL-адрес для новейшего RPM Java...

Oracle предоставляет постоянные ссылки на последние обновления каждой версии Java, как описано в https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 - хотя вам нужно создать/войти в учетную запись службы поддержки Oracle. * В противном случае вы можете получить доступ только к последнему "общедоступному" обновлению каждой версии Java, например. 1.6_u45 (март 2013 г., последнее обновление - u65, октябрь 2013 г.) *

Как только вы знаете постоянную ссылку, вы сможете решить ее до реальной загрузки; Для меня работает следующее, хотя я еще не знаю, изменяется ли ссылка "aru".

ME=<myOracleID>
PW=<myOraclePW>
PATCH_FILE=p13079846_17000_Linux-x86-64.zip

echo "Get real URL from the persistent link"

wget -o getrealurl.out --no-cookies --no-check-certificate --user=$ME \
--password=$PW --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" \
https://updates.oracle.com/Orion/Services/download/$PATCH_FILE?aru=16884382&\
patch_file=$PATCH_FILE

wait    # wget appears to go into background, so "wait" waits 
        # until all background processes complete

REALURL=`grep "^--" getrealurl.out |tail -1 |sed -e 's/.*http/http/'`
wget -O $PATCH_FILE $REALURL
#These last steps must be done quickly, as the REALURL seems to have a short-lived 
#cookie on it and I've had no success with  --keep-session-cookies etc.
  • 0
    Я настоятельно рекомендую не использовать --no-check-Certificate при передаче пароля.
2

эта команда может загрузить пакет jdk8 tgz прямо сейчас (2018-09-06), удачи!

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
2

wget Это работало для меня JDK8

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2F%www.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
2

Принятый ответ не работал у меня, начиная с 2017-04-25. Однако в простом решении использовался флаг -b вместо параметра --header.

Например, чтобы получить jdk-1.8_131:

version='8u131'; wget -H -O jdk-$version-linux-x64.tar.gz --no-check-certificate --no-cookies -b "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/$version-b11/jdk-$version-linux-x64.tar.gz

Это будет выполняться в фоновом режиме, записывая вывод в wget-log.

2

Я сделал jdk-download script (специфичный для tar.gz) для своих ящиков gentoo. Не нужно обновлять, как и другие подобные скрипты, пытаясь "переустановить" загрузку последней сборки для любой версии, которую вы хотите.

ИСПОЛЬЗОВАНИЕ

jdk-download< <version> <platform> [<build>]

* <version> - Something like "8u40"
* <platform> - Usually i586 or x64
* <build> - The internal build number used by oracle, to avoid guessing and trying to download starting from 99 to 1 (build 0, really?!!)

Сообщение в блоге

Источник на битбакете

2

Я решаю это (для дистрибутивов Linux на основе Debian), создавая пакеты с использованием java-package несколько раз (для разных архитектур), а затем распространяя их внутри.

Большая сторона плюса заключается в том, что этот метод всегда работает; независимо от того, как сумасшедшие веб-страницы Oracle становятся. Oracle больше не может сломать мою сборку!

Недостатком является то, что сначала нужно немного настроить работу.

  • Загрузите файлы tar.gz вручную в браузере (таким образом, "принимая" их термины)
  • Запустите make-jpkg jdk-7u51-linux-x64.tar.gz. Это создает oracle-java8-jdk_8_amd64.deb
  • Распространяйте его в своей организации

Для распространения через Интернет я предлагаю использовать защищенный паролем apt-репозиторий или предоставлять необработанные пакеты с использованием симметричного шифрования:

passphrase="Hard to crack string. Use /dev/urandom for inspiration."
gpg --batch --symmetric --force-mdc --passphrase-fd 0 \
   oracle-java8-jdk_8_amd64.deb <<< "$passphrase"

Конечно, предоставление (незашифрованных) пакетов .deb в Интернете, вероятно, является нарушением вашего лицензионного соглашения с Oracle, в котором говорится:

... Oracle предоставляет вам... лицензию... для воспроизведения и использования внутри Программного обеспечения полной и немодифицированной с единственной целью запуска программ "

В конце приема, если у вас есть защищенный паролем apt repo, все, что вам нужно сделать, это apt-get install it. Если у вас есть необработанные пакеты, загрузите, расшифруйте и dpkg -i их. Работает как шарм!

  • 2
    так вот как это было реализовано в честь лицензии. Это круто :-)
1

тебе стоит попробовать:

wget \
        --no-cookies \
        --header "Cookie: oraclelicense=accept-securebackup-cookie" \
        http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz \
        -O java.tar.gz
1

контекст

Недавно я столкнулся с той же проблемой, и хотя комментарии на этой странице и некоторые другие содержали полезные советы - я подумал, что было бы хорошо документировать шаги, которые я предпринял, чтобы решить эту проблему, для людей, которые могут нуждаться в дальнейшей помощи.

Сведения о системе

Я следую PNDA, настроенной на AWS, следуя пошаговому руководству по установке pnda по адресу:

https://github.com/pndaproject/pnda-guide/blob/develop/provisioning/aws/PREPARE.md

Я использую ubuntu 14.04 [бесплатный уровень, соответствующий требованиям] в облаке AWS, и использую код с 64-битного ноутбука Windows8.1. Я использую PUTTY для подключения к экземпляру сервера. Я git клонировал код pnda из https://github.com/pndaproject/pnda в экземпляр ubuntu.

Важное примечание Обратите внимание: если вы планируете использовать экземпляр Ubuntu в AWS, убедитесь, что он установлен только в версии 14.04. Если вы используете версию 16, она не работает. Я научился этому нелегко!

Шаги разрешения

Те, кто зашел так далеко, что столкнулись с обсуждаемой здесь ошибкой, знают: файл создания зеркала включает следующие шаги:

1) Запустите скрипт create_mirror.sh [ sudo su -s./create_mirror.sh ] чтобы запустить процесс создания полного зеркала

2) Этот скрипт, в свою очередь, вызывает различные другие скрипты - один из них - create_mirror_misc.sh; этот скрипт ссылается на pnda-static-file-dependencies.txt котором есть список файлов для загрузки.

3) В самой первой строке pnda -s tatic-file-dependencies.txt находится ссылка для загрузки файла jdk-8u131-linux-x64.tar.gz с http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie; Именно в этот момент мой скрипт завершился ошибкой с сообщением Failed to download http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz after 3 retries

4) Я перешел на страницу http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz и обнаружил следующее сообщение об ошибке **In order to download products from Oracle Technology Network you must agree to the OTN license terms**

5) Чтобы решить эту проблему, я внес следующие изменения в pnda-static-file-dependencies.txt; Я добавил --no-check-certificate --no-cookies, чтобы обойти условия лицензионного соглашения

6) Таким образом, пересмотренный код выглядит следующим образом - http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz --no-check-certificate --no-cookies oraclelicense=accept-securebackup-cookie

Я надеюсь, что это полезно.

1

wget --no-cookie --no-check-certificate --header "Cookie: gpw_e24 = http% 3A% 2F% 2Fwww.oracle.com% 2F; oraclelicense = accept-securebackup-cookie" " http://download. oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm?AuthParam=1516282527_40effcfefd78d78bce1cb03030

  • 0
    HTTP-запрос отправлен, ожидание ответа ... 403 Запрещено 2018-01-24 03:24:51 ОШИБКА 403: Запрещено.
1

oracle-java-download - это проект GitHub, который позволяет создавать ссылки для загрузки JDK 8 и JDK 9, которые вы можете использовать для дальнейшего например, в процессах автоматической сборки или развертывания.

Для этого требуется Linux, Docker и JDK >= 8.

1

Попробуйте

wget --no-cookies --header "Cookie: s_nr=1359635827494; s_cc=true; gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6downloads-1902814.html; s_sq=%5B%5BB%5D%5D; gpv_p24=no%20value" http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64-rpm.bin --no-check-certificate -O ./jdk-6u45-linux-x64-rpm.bin

если вы похожи на меня, пытаясь получить Oracle JDK 6.

source: Загрузка Oracle JVM с использованием curl/wget

  • 1
    Кажется, что он больше не работает :(
-3

Почему бы не нажать, чтобы загрузить из браузера, а затем скопируйте и вставьте точную ссылку, где она была загружена, например:

wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz?AuthParam=1380225131_dd70d2038c57a4729d8c0226684xxxx

Вы можете найти ссылку, просмотрев вкладку сети вашего браузера после принятия условий в oracle и щелкая для загрузки. F12 в Chrome. Firebug в Firefox.

  • 1
    Потому что людям это нужно для автоматической установки java на серверы с помощью скриптов bash.
  • 1
    Что делать, если вы находитесь на другом компьютере или хотите установить CLI? Да уж ...
-4
sudo wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm"
  • 3
    Судо? В самом деле ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню