java जेडीके 8 स्थापित नहीं है-त्रुटि 404: नहीं मिला




ubuntu java-8 (8)

मेरा मानना ​​है कि ओरेकल द्वारा प्रदान किया गया लिंक सही नहीं है " http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz "

कल से, मैं अपनी उबंटू मशीन पर जेडीके 8 स्थापित करने की कोशिश कर रहा हूं, लेकिन यह लगातार असफल रहा है।

मैं आदेश चलाने की कोशिश कर रहा हूं:

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

लेकिन मैं जारी नहीं रख सकता क्योंकि कमांड चलाने के दौरान sudo apt-get install oracle-java8-installer मुझे यह मिलता है:

...
Connecting to download.oracle.com (download.oracle.com)|23.215.130.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-10-18 11:07:34 ERROR 404: Not Found.

download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
...

मेरा सेटअप 64-बिट उबंटू 14.04 है।


और एक नया संस्करण:

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u161|JAVA_VERSION=8u171|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_171|' oracle-java8-installer.*

जेडीके 8u141 के लिए कैवोपोलो के जवाब के लिए धन्यवाद।

मैं जेडीके 8u151-1 ~ webupd8 ~ 0 के लिए ठीक कर दूंगा (इसके बजाए जेडीके 8i162 का उपयोग करें):

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*

कुछ दिनों पहले से ही यह जावावाड़ नई जावा रिलीज के कारण अप्रचलित है। इसके बजाय, इस प्रतिस्थापन का उपयोग करें:

sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*


यहां यह जावा 8u181 के लिए है क्योंकि 8u171 अब काम नहीं कर रहा है:

cd /var/lib/dpkg/info
sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*
sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*
sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*
sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*

उबंटू मेट 16.04 x64 के लिए मेरा कामकाज निम्नलिखित था:

wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz

mkdir /opt/jdk

sudo tar -zxf jdk-8u152-linux-x64.tar.gz -C /opt/jdk

update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_152/bin/java 100

update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_152/bin/javac 100

हेडर समायोजन के लिए डिजिटल महासागर को क्रेडिट।


आसपास के बहुत सारे गुगलने के बाद मुझे उबंटू मंच पर एक जवाब मिला।

असल में, समस्या यह प्रतीत होती है कि जावा का एक नया संस्करण है और इंस्टॉलर को संदर्भित करने के लिए अद्यतन नहीं किया गया था।

यदि आपकी मशीन एक एएमडी 64 प्रोसेसर के साथ एक लिनक्स x64 है , और आपको नवीनतम जावा 8 संस्करण की आवश्यकता है, तो इन आदेशों को चलाकर इसे आसानी से ठीक किया जा सकता है (मूल संस्करण के लिए क्रेडिट g1zmo2 जाता है और यह अद्यतन संस्करण @Glenn स्मिथ को जाता है):

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*

और उसके बाद जेडीके 8 इंस्टॉलर कमांड चलाते हैं जैसे आप सामान्य रूप से =):

sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

यदि आपकी मशीन लिनक्स x64 AMD64 नहीं है या आप जावा 9 की तलाश में हैं , तो, आप भाग्य में हैं। आज वह दिन है जब आप अपनी जावा जरूरतों के लिए अपने जावा इंस्टॉलर को ठीक करना सीखेंगे।

इस ट्यूटोरियल के प्रयोजनों के लिए, हम मान लेंगे कि आप जावा 8u181 चाहते हैं और आपने पहले जावा 8u171 इंस्टॉल किया था (क्योंकि मेरे पास यही है)।

सबसे पहले, मुझे जावा के जेडीके डाउनलोड पेज पर जाने की आवश्यकता है (जावा 8 के लिए, यहां जाएं , "डाउनलोड" tab क्लिक करें और फिर "जावा एसई 8u181" link )।

अब, अपनी मशीन के आधार पर जेडीके संस्करण की आवश्यकता है। मेरे मामले में, मेरी मशीन उबंटू 14.04 64-बिट पर चल रही है, इसलिए मुझे "लिनक्स x64" की आवश्यकता है।

उस लिंक को कॉपी करें जो आपको आवश्यक डाउनलोड में ले जाता है। लाइसेंस समझौते को स्वीकार करना न भूलें। मेरे मामले में (लिनक्स x64), मुझे चाहिए: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz

इस ट्यूटोरियल के प्रयोजनों के लिए, हमें केवल लिंक के पथ की आवश्यकता है: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/ । उसे सुरक्षित रखें; हमें बाद में इसकी आवश्यकता होगी।

अब पेज में चेकसम लिंक देखें और इसे क्लिक करें

यह आपको एक योजना एचटीएमएल टेबल पेज पर ले जाना चाहिए। बस अपनी मशीन फिट sh256 वाले sh256 की sh256 करें।

दोबारा, मेरी मशीन एक "लिनक्स x64" है इसलिए मुझे तस्वीर में 1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3 आवश्यकता है। मूल्य की प्रतिलिपि बनाएँ, और इसे सुरक्षित रखें; हमें बाद में भी इसकी आवश्यकता होगी।

अब, अपनी मशीन पर टर्मिनल खोलें और उस फ़ोल्डर को दर्ज करें जहां जावा इंस्टॉलर फ़ाइल है:

cd /var/lib/dpkg/info

बढ़िया, अब यह टाइप करें:

sudo grep --color -P "JAVA_VERSION=[a-z0-9]+" oracle-java8-installer.config

आउटपुट इस तरह कुछ दिखना चाहिए:

यह हमें बताता है कि जावा संस्करण क्या है जिसे इंस्टॉलर को स्थापित करने के लिए कॉन्फ़िगर किया गया है। इसलिए

sudo sed -i 's|JAVA_VERSION=<INSTALLER CURRENT JAVA VERSION HERE>|JAVA_VERSION=<NEW VERSION HERE>|' oracle-java8-installer.*

हमारे मामले के लिए, हम 8u171 से 8u171 तक अपग्रेड कर रहे हैं, इसलिए हम "

sudo sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*

ठीक है, अब हमें डाउनलोड यूआरएल अपडेट करना होगा।

sudo grep --color -P "PARTNER_URL=[^ ]+" oracle-java8-installer.config

इसे अपडेट करने के लिए, हमें इस तरह के कमांड को निष्पादित करना चाहिए:

sudo sed -i 's|PARTNER_URL=<INSTALLER CURRENT JAVA URL HERE>|PARTNER_URL=<NEW URL HERE>|' oracle-java8-installer.*

याद रखें कि यूआरएल मैंने आपको शुरुआत में बचाने के लिए कहा था? खैर, अब हमें इसकी आवश्यकता होगी। जगह आपके नए यूआरएल के रूप में है, इस तरह:

sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*

उसके बाद, हमें चेकसम अपडेट करना होगा। तो कृपया इस आदेश को निष्पादित करें:

sudo grep --color -P '[^#]SHA256SUM_TGZ="[^"]+"' oracle-java8-installer.config

यह दो अलग SHA256 प्रिंट करता है:

ध्यान दें कि वे सभी अलग हैं। हम उस पर एक सेकंड में वापस आ जाएंगे। तो, SHA256 को अपडेट करने के लिए, हमें इस आदेश को निष्पादित करने की आवश्यकता होगी:

sudo sed -i 's|SHA256SUM_TGZ="<INSTALLER CURRENT JAVA HASH HERE>"|SHA256SUM_TGZ="<NEW JAVA HASH>"|' oracle-java8-installer.*

लेकिन हम कैसे जानते हैं कि वर्तमान जावा किसके पास है? खैर, हमें अपने प्रोसेसर के आर्किटेक्चर को खोजने की ज़रूरत है:

dpkg --print-architecture

मेरे मामले में, यह amd64 आउटपुट होगा। इसका मतलब है कि मुझे दूसरा लिंक लेना चाहिए। मुझे इसके बारे में कैसे पता है? हम स्रोत कोड ( sudo gedit oracle-java8-installer.config ) sudo gedit oracle-java8-installer.config , इसलिए इस पर मेरा विश्वास करें:

  • यदि आपका आर्किटेक्चर i386 , i586 या i686 , तो पहले को पकड़ें।
  • अगर amd64 , दूसरे को पकड़ो।
  • यदि armv7l या armv6l , तीसरे को पकड़ो।
  • यदि armv8l , arm64 या aarch64 , चौथे को पकड़ो।
  • यदि उपर्युक्त में से कोई भी नहीं है, तो आप भाग्य से बाहर हैं ...

इसलिए, जैसा कि मेरा amd64 , जावा की वेबसाइट से प्राप्त नए हैश का उपयोग करके, मैं निष्पादित करता हूं:

sudo sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*

अंत में, हमें इंस्टॉलर्स जेडीके निर्देशिका नाम को संशोधित करने की आवश्यकता है, इसलिए वर्तमान को खोजने के लिए इसे निष्पादित करें:

sudo grep --color -P "J_DIR=[^ ]+" oracle-java8-installer.config

मेरे मामले में यह मुद्रित:

तो हम इस तरह कुछ निष्पादित करेंगे:

sudo sed -i 's|J_DIR=<INSTALLER CURRENT JDK VERSION HERE>|J_DIR=<NEW JDK VERSION>|' oracle-java8-installer.*

मेरा वर्तमान संस्करण jdk1.8.0_171 होने के नाते, मैं निष्पादित करता हूं:

sudo sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*

और बस। हम जावा इंस्टॉलर को कॉल करने के लिए तैयार हैं, याय। (पुhew ... यह टाइप करने में अधिक समय लगा कि मैंने पहले सोचा था)।

एडिट 3 @ केनी हंग 8u161 से 8u161 तक इस्तेमाल किए गए कमांड का पुराना संस्करण (यदि यह किसी के लिए आसान होता है, हालांकि इसे नई बिल्ड फाइलों के साथ हटा दिया जाना चाहिए था)

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u161|JAVA_VERSION=8u171|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_171|' oracle-java8-installer.*

एडिट 2 @ मार्टिन Šuráb / @ अल्बर्ट झोंग / p-ansell 8u151 के 8u162 से 8u151 तक इस्तेमाल किए गए आदेशों का पुराना संस्करण (यदि यह किसी के लिए आसान आता है, हालांकि इसे नई बिल्ड फाइलों के साथ हटा दिया जाना चाहिए था)

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*

81144 से 8u144 तक उपयोग किए गए कमांड का 1 जी 1zmo2 का पुराना संस्करण (यदि यह किसी के लिए आसान होता है, हालांकि इसे नई बिल्ड फाइलों के साथ हटा दिया जाना चाहिए था):

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u144|JAVA_VERSION=8u152|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="e8a341ce566f32c3d06f6d0f0eeea9a0f434f538d22af949ae58bc86f2eeaae4"|SHA256SUM_TGZ="218b3b340c3f6d05d940b817d0270dfe0cfd657a636bad074dcabe0c111961bf"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_144|J_DIR=jdk1.8.0_152|' oracle-java8-installer.*




java-8