Mengunduh Java JDK di Linux melalui wget akan ditampilkan halaman lisensi


615

Ketika saya mencoba mengunduh Java dari Oracle, saya malah mengunduh halaman yang memberi tahu saya bahwa saya perlu menyetujui persyaratan lisensi OTN.

Maaf!

Untuk mengunduh produk dari Jaringan Teknologi Oracle, Anda harus menyetujui persyaratan lisensi OTN.

Pastikan bahwa ...

  • Browser Anda memiliki "cookie" dan JavaScript diaktifkan.
  • Anda mengklik "Terima Lisensi" untuk produk yang ingin Anda unduh.
  • Anda mencoba mengunduh dalam waktu 30 menit setelah menerima lisensi.

Bagaimana saya bisa mengunduh dan menginstal Java?


Pertanyaan ini adalah topik karena berkaitan dengan bagaimana pengembang menginstal kit pengembangan. Buka kembali karena alasan itu.
George Stocker

Jawaban:


1659

DIPERBARUI UNTUK 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

DIPERBARUI UNTUK 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

DIPERBARUI UNTUK 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

DIPERBARUI UNTUK JDK 9 sepertinya Anda dapat mengunduhnya sekarang langsung dari java.net tanpa mengirim header

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

DIPERBARUI UNTUK 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"

DIPERBARUI UNTUK 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 menggunakan 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

Dalam semua kasus di atas, subst 'i586' untuk 'x64' untuk mengunduh build 32-bit.

  • -j -> cookie sampah
  • -k -> abaikan sertifikat
  • -L -> ikuti arahan ulang
  • -H [arg] -> header

curldapat digunakan di tempat wget.

PEMBARUAN UNTUK 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 menggunakan 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

Sekali lagi, pastikan Anda menentukan URL yang benar untuk versi yang Anda unduh. Anda dapat menemukan URL di sini: Situs unduhan Oracle JDK

JAWABAN ASLI DARI 9 Juni 2012

Jika Anda ingin mengunduh Oracle JDK dari baris perintah menggunakan wget, ada solusinya. Jalankan wgetperintah sebagai berikut:

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"

Pastikan untuk mengganti tautan unduhan dengan yang benar untuk versi yang Anda unduh.


6
(Mungkin repost ke-1 ini akhirnya akan melakukan triknya.) Sederhana --header "Cookie: oraclelicense=accept-securebackup-cookie"(atau --header "Cookie: oraclelicense=[any-character(s)-but-a-single-space]") tampaknya berfungsi dengan baik. Bisakah Anda mengkonfirmasi ini?
Det

2
Update untuk segar Java 8: wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz. The --no-kue adalah berlebihan dan --no-check-sertifikat yang diperlukan hanya dengan Wget 1,12 dan lebih tua, yang hilang dukungan SAN (terutama RHEL / CentOS 6.x). Versi CURL adalah:curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz
Det

3
saya mencoba 121 verson baru dengan url download.oracle.com/otn-pub/java/jdk/8u121-b13/… tetapi sepertinya tidak berhasil. ada pemikiran?
Nam Nguyen

3
mendapat ERROR 404: Tidak Ditemukan dengan JDK 11, mungkin URL salah?
Tien Dung Tran

2
DIPERBARUI UNTUK Oracle JDK 11 solusi tidak berfungsi lagi
bomba

247

( Irani memperbarui jawaban saya, tapi ini untuk memperjelas semuanya. )

Sunting: Diperbarui untuk Java 11.0.1 , dirilis pada 16 Oktober 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 (tidak ada bendera kuki): http://javadl.oracle.com/webapps/download/AutoDL?BundleId=235717_2787e4a523244c269598db4e85c51e0c
Lihat unduhan di oracle.com dan java.com untuk informasi lebih lanjut.

  • -c / --continue

    Mengizinkan melanjutkan unduhan yang belum selesai.

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

    Sejak 15 Maret 2014 cookie ini diberikan kepada pengguna setelah menerima Perjanjian Lisensi dan diperlukan untuk mengakses paket Java di download.oracle.com . Implementasi sebelumnya (dan pertama) pada tanggal 27 Maret 2012 memanfaatkan cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[...]. Kedua kasus tetap tidak diumumkan kepada publik.

    Nilainya tidak harus " accept-securebackup-cookie".

Diperlukan untuk Wget <1.13

  • --no-check-certificate

    Hanya diperlukan dengan wget 1.12 dan sebelumnya , yang tidak mendukung sertifikat Subject Alternative Name (SAN) (terutama Red Hat Enterprise Linux 6.x dan teman-teman, seperti CentOS). 1.13 dirilis pada Agustus 2011.

    Untuk melihat versi saat ini, gunakan: wget --version | head -1

Tidak dibutuhkan

  • --no-cookies

    Kombinasi --no-cookies --header "Cookie: name=value"tersebut disebutkan sebagai dukungan cookie " resmi ", tetapi tidak sepenuhnya diperlukan di sini.

ikal

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

    Diperlukan untuk CURL untuk mengarahkan ulang melalui semua mirror.

  • -C / --continue-at -

    Lihat di atas. CURL membutuhkan tanda hubung ( -) pada akhirnya.

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

    Sama seperti -H / --header "Cookie: ...", tetapi menerima file juga.

  • -O

    Diperlukan untuk CURL untuk menyimpan file (lihat perbandingan penulis untuk lebih banyak perbedaan).


2
"dash sebelumnya" harus "dash mengikuti salah satu bentuk opsi" tetapi ini adalah ringkasan yang bagus.
Alex Dupuy

1
Yah, saya mengubahnya menjadi " CURL membutuhkan tanda hubung ( -) pada akhirnya. " Itu harus cukup jelas, diambil bagaimana bentuk lain dari flagsudah ditampilkan dalam perintah.
Det

1
saya mencoba versi 121 baru dengan url download.oracle.com/otn-pub/java/jdk/8u121-b13/… tetapi sepertinya tidak berhasil. ada pemikiran?
Nam Nguyen

1
Tampaknya tidak berfungsi untuk versi lama. Saya tidak dapat mengunduh 8u121. Mungkin karena Downloading these releases requires an oracle.com account. Ada solusi?
ALex_hha

1
Kami menggunakan buruh pelabuhan, itu sebabnya kami perlu menggunakan versi java tertentu. Ya saya dapat menemukan file di beberapa ftp, tetapi saya baru saja menyebutkan bahwa mulai sekarang Anda tidak dapat mengunduh versi sebelumnya dari situs tanpa akun mereka
ALex_hha

35

Mengunduh Java dari baris perintah selalu merepotkan. Apa yang telah saya lakukan sekarang adalah menggunakan FireFox (browser lain mungkin berfungsi) untuk memulai unduhan di laptop saya, jeda sebentar (di jendela Unduhan), gunakan item menu "Salin Link Tautan" dari menu konteks yang ditampilkan untuk mengunduh file. URL ini kemudian dapat digunakan pada kotak Linux untuk mengunduh file yang sama. Saya berharap URL memiliki waktu singkat untuk hidup. Jelek, tetapi umumnya berhasil.


Ya .. itu berhasil. Bagus. Saya mempunyai url saya seperti download.oracle.com/otn-pub/java/jdk/7u9-b05/…
Mukus

3
Ini adalah masalah yang menarik tetapi tidak menjawab pertanyaan. Mengklik FireFox tidak kompatibel dengan "unduhan otomatis".
Stéphane Gourichon

Tidak merepotkan (terjemahan: tidak mungkin) seperti pada browser saya (jamak) hari ini. Sekitar 10 hingga 20% dari cara masuk, server Oracle akan terputus, meninggalkan saya dengan unduhan terpotong. Alat CLI setidaknya mencoba lagi dari tempat itu berhenti, dan akhirnya salah satu berjalan akan selesai tanpa batas waktu / penolakan.
Roboprog

luar biasa! param query AuthParamada hubungannya dengan Oracle memeriksa apakah pengguna telah menyetujui Lisensi atau tidak.
asgs

hanya solusi yang bekerja untuk saya hari ini. Semua trik wget di atas dengan menerima parameter cookie tidak bekerja.
Saad Benbouzid

23

Diperbarui untuk JDK 8u171 RPM

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

Tautan kedaluwarsa di bawah ini

Diperbarui untuk JDK 8u161 RPM

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

Diperbarui untuk JDK 8u152 RPM

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

Diperbarui untuk JDK 8u144 RPM

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

Diperbarui untuk JDK 8u131 RPM

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

Diperbarui untuk JDK 8u121 RPM

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
Mutlak ini membantu saya. Untuk menggunakan tar.gz saya cukup mengubah nama .rpm menjadi .tar.gz
Yoraco Gonzales

19

Saya tahu bahwa Oracle membuat segalanya mungkin untuk membuat Java Runtime dan Java SDK mereka sekuat mungkin.

Berikut adalah beberapa panduan untuk pecinta baris perintah.

Untuk sistem seperti Debian (diuji dengan Debianpemerasan dan Ubuntu12.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

Catatan: jika Anda tahu cara yang lebih baik atau lebih mudah menambahkan komentar, saya akan memperbarui panduan ini.


2
Pada 2013-11-02, metode lain tidak mudah untuk disesuaikan dengan versi yang berbeda. Metode ini berfungsi apa pun versi saat ini dan dapat secara otomatis / scripted / run tanpa pengawasan dengan opsi apt-get seperti "--ya".
Stéphane Gourichon

Mencoba metode ini dengan oracle-java8-installer dengan --yes, --assume-yes, --force-yesopsi tetapi setiap instalasi menginginkan saya untuk menerima perjanjian lisensi dengan enter-key.
Drey

9

Java SE Development Kit 12.0.2

TAR.GZ

wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz

mengapa --no-check-certificate? itu berfungsi dengan baik tanpa saklar itu sehingga dalam hal keamanan itu tidak boleh digunakan, terutama ketika sudah usang.
tymik


6

Oracle telah menempatkan cookie pencegahan pada tautan unduhan untuk memaksa Anda menyetujui persyaratan meskipun perjanjian lisensi untuk menggunakan Java dengan jelas menyatakan bahwa hanya dengan menggunakan Java Anda 'setuju' dengan lisensi ..

Metode yang diinginkan Oracle adalah Anda mengunduhnya dengan perjanjian. Setelah itu, skrip ini cn dapat dimodifikasi untuk Linux spesifik Anda

#!/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
Jawaban ini mengasumsikan bahwa Anda menggunakan Linux, dan Anda ingin menginstalnya dengan cara / tempat yang tidak standar, dan banyak hal lainnya. Jawaban yang lebih baik adalah "cukup ikuti petunjuk instalasi di situs web unduhan" ... kecuali Anda menggunakan Ubuntu, dalam hal ini ada cara lain untuk melakukannya.
Stephen C

8
Dan bagaimana anehnya jika jawabannya mengasumsikan Linux ketika judul pertanyaannya mencakup Linux? Sceipt bukanlah ukuran satu-cocok-semua mengingat Linux itu sendiri tidak seperti itu. Mengingat ini adalah jawaban saya sendiri untuk pertanyaan saya sendiri, saya telah mengujinya dan itu berhasil untuk saya.
thejartender

6

Bagi mereka yang membutuhkan JCE8 juga, Anda dapat mengunduhnya juga.

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

Atau

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

5

Ini berfungsi untuk JDK 6, Anda hanya perlu mengganti url unduhan dengan versi terbaru.

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

Ini berfungsi tetapi saya tidak dapat memilih 6u48 karena bagian di mana Anda memiliki 6u33-b03.
Jacob Phillips

Pada 2013-11-02, tidak dapat menjalankan ini. Unduh halaman pendaftaran HTML alih-alih file.
Stéphane Gourichon

5

perintah ini dapat mengunduh paket tlz jdk8 sekarang (2018-09-06), semoga berhasil!

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"

Saya mencoba perintah orang lain tetapi tidak ada yang berhasil, tetapi yang ini bekerja dengan lancar (berjalan pada 20 / Sep / 2019).
Seorang programmer lain

4

Alih-alih menggunakan untuk setiap versi Java tautan baru atau mengubah skrip yang ada, saya mencari cara yang lebih umum untuk mengotomatiskan pengunduhan paket Java yang diperlukan dan instalasi nanti melalui yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm .

Saya telah menggunakan pendekatan sepele yang mirip dengan tindakan manual / pengguna untuk menemukan paket dan mengunduhnya. Saya juga cukup yakin bahwa salah satu akan menemukan cara yang lebih elegan untuk melakukannya dengan menggunakan alat-alat lain seperti egrep, awk, dll .., sehingga meninggalkan sebagai contoh di sini:

#!/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

Karena tautan unduhan tersedia sekarang, seseorang dapat melanjutkan dengan wgetatau curl.


3

Semua hal di atas tampaknya menganggap Anda tahu URL untuk Java RPM terbaru ...

Oracle menyediakan tautan terus-menerus ke pembaruan terbaru dari setiap versi Java sebagaimana didokumentasikan di https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 - meskipun Anda perlu membuat / masuk ke akun Dukungan Oracle . * Jika tidak, Anda hanya dapat mengakses pembaruan "publik" terakhir dari setiap versi Java, mis. 1.6_u45 (Mar 2013; Pembaruan terakhir adalah u65, Okt 2013) *

Setelah mengetahui tautan persisten, Anda harus dapat mengatasinya ke unduhan nyata; Berikut ini berfungsi untuk saya, meskipun saya belum tahu apakah referensi "aru" berubah.

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.

1
Saya akan sangat menyarankan untuk tidak menggunakan --tidak memeriksa sertifikat saat mengirim kata sandi.
Rick Moritz

3

Seperti yang sudah diposting di sini: https://stackoverflow.com/a/41718895/4370196

Pembaruan untuk Pembaruan JDK 8 121

Karena Oracle menyisipkan beberapa md5hash di tautan unduhan mereka, orang tidak dapat secara otomatis memasang tautan unduhan untuk baris perintah.

Jadi saya mengutak-atik beberapa baris perintah jahat untuk mendapatkan tautan unduhan jdk terbaru, unduh dan langsung instal melalui rpm. Untuk semua yang tertarik:

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' | (kepala -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

Bagian yang berani harus diganti dengan paket yang Anda sukai.


Ya, tidak mudah lagi untuk memasang tautan. Saya telah menggunakan pendekatan serupa dalam skrip bash untuk mendapatkan tautan unduhan JRE dan JDK terbaru untuk versi 8 dan 9. Ini dapat ditemukan di utas ini sebagai jawaban .
U880D

2

Saya mengatasi ini (untuk distro Linux berbasis Debian) dengan membuat paket menggunakan java-package beberapa kali (untuk berbagai arsitektur), kemudian mendistribusikannya secara internal.

Sisi positifnya adalah bahwa metode ini selalu berfungsi; tidak peduli betapa gilanya halaman web Oracle. Oracle tidak bisa lagi merusak bangunan saya!

The downside adalah bahwa itu sedikit lebih sulit untuk diatur pada awalnya.

  • Unduh file tar.gz secara manual di browser (sehingga "menerima" persyaratannya)
  • Lari make-jpkg jdk-7u51-linux-x64.tar.gz. Ini menciptakanoracle-java8-jdk_8_amd64.deb
  • Sebarkan di dalam organisasi Anda

Untuk distribusi melalui Internet, saya sarankan menggunakan repositori apt yang dilindungi kata sandi atau menyediakan paket mentah menggunakan enkripsi simetris:

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"

Tentu saja menyediakan (tidak terenkripsi) paket deb di internet mungkin merupakan pelanggaran terhadap perjanjian lisensi Anda dengan Oracle, yang menyatakan:

... Oracle memberi Anda ... lisensi ... untuk mereproduksi dan menggunakan internal Perangkat Lunak yang lengkap dan tidak dimodifikasi untuk tujuan tunggal menjalankan Program "

Di sisi penerima, jika Anda memiliki password repo yang dilindungi kata sandi, yang perlu Anda lakukan hanyalah apt-get installitu. Jika Anda memiliki paket mentah, unduh, dekripsi dan dpkg -imereka. Bekerja seperti pesona!


2
jadi beginilah penerapannya untuk menghormati lisensi. Ini luar biasa :-)
Kowser

2

wget Ini Berhasil untuk saya 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

Jawaban yang diterima tidak berfungsi untuk saya, mulai 2017-04-25. Namun, solusi sederhana menggunakan -bbendera bukan--header opsi.

Misalnya, untuk mendapatkan 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

Itu akan mengeksekusi di latar belakang, menulis output ke wget-log.


1

Mencoba

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

jika Anda seperti saya mencoba untuk mendapatkan Oracle JDK 6.

sumber: unduhan Oracle JVM menggunakan curl / wget


1

Saya telah membuat skrip unduhan jdk (khusus untuk tar.gz) untuk kotak gentoo saya. Tidak perlu diperbarui seperti skrip sejenis lainnya, mencoba "brute-force" mengunduh versi terbaru untuk versi apa pun yang Anda inginkan.

PEMAKAIAN

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?!!)

Posting blog

Sumber di bitbucket


1

oracle-java-download adalah proyek di GitHub yang memungkinkan Anda membuat tautan unduhan untuk JDK 8 dan JDK 9 yang dapat Anda gunakan untuk pemrosesan lebih lanjut misalnya dalam proses pembuatan atau penyebaran otomatis.

Itu membutuhkan Linux, Docker dan JDK> = 8 untuk dapat berjalan.



1

Konteks

Saya baru-baru ini menghadapi masalah yang sama dan meskipun komentar di halaman ini dan beberapa yang lain memberikan petunjuk bermanfaat - saya pikir akan lebih baik untuk mendokumentasikan langkah-langkah yang saya ambil untuk memperbaiki masalah bagi orang-orang yang mungkin membutuhkan bantuan lebih lanjut.

Detail Sistem

Saya mengikuti pengaturan PNDA di AWS dengan mengikuti panduan instalasi pnda langkah demi langkah di:

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

Saya menggunakan ubuntu 14.04 [tingkat gratis yang memenuhi syarat] di cloud AWS, dan saya menjalankan kode dari laptop 64 bit windows8.1. Saya menggunakan PUTTY untuk terhubung ke instance server. Saya git mengkloning kode pnda dari https://github.com/pndaproject/pnda ke instance ubuntu.

Catatan penting Harap dicatat bahwa jika Anda berencana untuk menggunakan Ubuntu di AWS, pastikan itu hanya 14,04. Jika Anda menggunakan versi 16, itu tidak berfungsi. Saya belajar dengan cara yang sulit!

Langkah-langkah Resolusi

Seperti yang diketahui oleh mereka yang telah menemukan kesalahan yang dibahas di sini - file pembuatan cermin melibatkan langkah-langkah berikut -

1) Jalankan skrip create_mirror.sh [ sudo su -s ./create_mirror.sh ]untuk menjalankan proses pembuatan mirror penuh

2) Skrip ini pada gilirannya memanggil berbagai skrip lain - salah satunya adalah create_mirror_misc.sh ; skrip ini merujuk pada pnda-static-file-dependencies.txtdaftar file yang harus diunduh.

3) Pada baris pertama dari pnda-static-file-dependencies.txt adalah referensi untuk mengunduh file jdk-8u131-linux-x64.tar.gz dari http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie; Pada titik inilah skrip saya gagal dengan pesanFailed to download http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz after 3 retries

4) Saya melihat-lihat halaman http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gzdan menemukan pesan kesalahan berikut ditampilkan**In order to download products from Oracle Technology Network you must agree to the OTN license terms**

5) Untuk mengatasi masalah ini saya membuat perubahan berikut ke pnda-static-file-dependencies.txt ; Saya menambahkan --tidak memeriksa sertifikat --tidak ada cookie untuk melewati persyaratan perjanjian lisensi

6) Jadi kode yang direvisi seperti - 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

Saya harap ini bermanfaat.


1

Kamu harus mencobanya:

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

unduh jdk 8u221

$ wget -c --content-disposition "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239835_230deb18db3e4014bb8e3e8324f81b43"
$ old=$(ls -hat | grep jre | head -n1)
$ mv $old $(echo $old | awk -F"?" '{print $1}')

blog saya 044-wget 下载 jdk8u221


0

Ini terjadi karena ketika Anda mengklik tombol "Terima" pada halaman unduhan di browser Anda, halaman web menyimpan cookie yang digunakan untuk memeriksa perjanjian Anda sebelum membiarkan Anda mengunduh file. Masalah terjadi ketika mencoba mengunduh dari baris perintah menggunakan wget dan itu karena tidak ada informasi cookie yang dikirim dengan permintaan wget untuk mengunduh file sehingga dari perspektif server file, Anda adalah pengguna yang sama sekali baru yang belum menerima lisensi persetujuan.

Salah satu solusinya adalah mengirim informasi cookie menggunakan opsi - header dari utilitas wget (seperti yang ditunjukkan di atas dalam jawaban lain). Idealnya jika beberapa konten dilindungi, Anda akan menggunakan berbagai opsi manajemen sesi yang tersedia dengan wget. Namun untuk masalah khusus ini, diselesaikan (saat ini) dengan mengirimkan Cookieheader dengan permintaan unduhan.


Ketika Anda mengklik "Terima" dan ambil URL dari halaman itu, itu mengarahkan Anda untuk http://download.oracle.com/otn/java/...bukan http://download.oracle.com/otn-pub/java/...Hanya mengubah /otn/ke/otn-pub/
T.CK

0

Inilah cara mendapatkan perintah sendiri. Ini berfungsi untuk semua versi:

  1. Akses halaman paket di sini: https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
  2. Klik tautan unduhan untuk paket yang Anda inginkan
  3. Centang kotak yang menunjukkan bahwa Anda telah "meninjau dan menerima ..."
  4. Klik kanan & Salin alamat tautan dari tombol
  5. Rekatkan ke dalam editor teks dan kemudian salin semuanya SETELAH 'nexturl =', dimulai dengan 'https: //'
  6. Perbarui URL unduhan dalam perintah ini dan Anda sebaiknya melakukannya:

    wget --tidak-periksa-sertifikat -c - kepala "Cookie: oraclelicense = accept-securebackup-cookie" https://download.oracle.com/otn/java/jdk/11.0.6+8/90eb79fb590d45c8971362673c5ab495/jdk- 11.0.6_linux-x64_bin.tar.gz

Untuk lebih menjelaskan wget, --no-check-sertifikat harus cukup jelas, tetapi konten tajuk (untuk panggilan apa pun) dapat ditemukan dengan menggunakan Tab Jaringan Alat Pengembang di browser Anda. Alat pengembang sangat kuat dan layak waktu untuk belajar. Nikmati.


0

@ jawaban eric melakukan trik untuk saya, Anda harus menerima persyaratan dalam perintah yang Anda atur yaitu

"Cookie: oraclelicense=accept-securebackup-cookie"

jadi perintah terakhir Anda terlihat demikian

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

Anda dapat memutuskan untuk memperbarui versi dengan mengubah 8u131ke 8uXXX. selama ini tersedia di repo.


-3
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"

-4

Mengapa tidak mengeklik untuk mengunduh dari peramban Anda lalu salin & tempel tautan yang tepat tempat unduhannya, misalnya:

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

Anda dapat menemukan tautan dengan melihat tab jaringan browser Anda setelah menerima persyaratan dalam oracle dan mengklik untuk mengunduh. F12 di Chrome. Firebug di Firefox.


1
Karena orang memerlukan ini untuk instalasi otomatis java di server dengan skrip bash.
Saša Šijak
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.