17.10 Openjdk और oracle jdk 8 और 9 TrustAnchors पैरामीटर गैर-रिक्त होना चाहिए


21

मैं सिर्फ एक ताजा वीएम में 17.10 स्थापित किया है। जब मैं दौड़ता हूं gradleया ./gradlewमुझे निम्न त्रुटि मिलती है , तो विकास के माहौल को स्थापित करने की कोशिश करना :

* What went wrong:
Error resolving plugin [id: 'com.github.johnrengelman.shadow', version: '2.0.0']
> Could not GET 'https://plugins.gradle.org/api/gradle/4.0/plugin/use/com.github.johnrengelman.shadow/2.0.0'.
   > java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

यह ग्रेडल वर्जन, जावा वर्जन (ओपनजैक और ऑरकल 8 और 9 दोनों की गलती है) और शैडो वर्जन के बावजूद है। यह मुझे इस निष्कर्ष पर पहुंचाता है कि यह उबंटू से संबंधित है, बजाय कि इंगलिश / ओपनजडक / ओरेकल से संबंधित है।

मैंने CA प्रमाणपत्रों को अपडेट करने की कोशिश की है, दोनों में से sudo update-ca-certificates -fऔर sudo apt install ca-certificates-java --reinstallन तो समस्या का समाधान करता है। मैं भी कोशिश की और परीक्षण करने के लिए इसे वापस बंद कर दिया और फिर से कोई प्रभाव के साथ तकनीक पर।

समस्या क्या है और मैं इसे कैसे ठीक करूं?


यह एक ही समस्या है, और स्थापना रद्द / openjdk-8-jdkमेरे साथ काम नहीं किया। किसी भी विचार आप इस काम कैसे मिला? मैं autoremoveस्थापित करने से पहले openjdk-8-jdkऔर फिर चला openjdk-9-jdk, लेकिन यह केवल एक चीज है जो आपके द्वारा कहे गए से अलग हो सकती है।
एंडी

वही। मैंने 8: jre, jdk और oracle संस्करणों के सभी क्रमपरिवर्तन की कोशिश की है।
सत्मान

जवाबों:


22

मैंने उपयुक्त-उपयोग करके सब कुछ पुनः स्थापित किया और इससे समस्या हल नहीं हुई।

जो समाधान मुझे काम करने के लिए मिला: ओरेकल पर जाएं और jdk-8 का tar.gz संस्करण डाउनलोड करें। फिर उस से / etc / ssl / certs / java / cacerts में कैसर्ट फ़ाइल कॉपी करें


2
अजीब बात है यह जारी। अपने काम के समाधान को साझा करने के लिए धन्यवाद। मैं अपने Ubuntu 16.04 से OpenJDK 8 इंस्टॉलेशन के साथ काम करने के लिए कैसर्ट फ़ाइल की प्रतिलिपि बनाने के लिए समाप्त हो गया। अजीब तरह से, cacertsUbuntu 17.10 पर OpenJDK 9 के साथ स्थापित खाली नहीं लगता है (यह पुराने से बड़ा है), यह सिर्फ काम नहीं करता है।
JeroenHoek

3
पुराने सीट्स को कॉपी करने के बजाय, आप java-commons के साथ-साथ jdk को भी शुद्ध कर सकते हैं, फिर jkk को फिर से इंस्टॉल करें। इस तरह, सिरे को ठीक से पुनर्जीवित किया जाएगा।
k0pernikus

1
यही एकमात्र समाधान है जो मेरे लिए उबंटू में 18.04 / OpenJDK 11 पर काम करता था
zergussino

1
स्थापना रद्द करना मेरे लिए उबंटू 18.04 / OpenJDK 11 पर भी काम नहीं किया, इसलिए मैंने डाउनलोड किया jdk-10.0.1_linux-x64_bin.tar.gz। आप पाएंगे cacertsमेंjdk-10.0.1/lib/security/cacerts
Igel

यह काम करता है भले ही विंडोज JDK से कॉपी, सफाई और फिर से काम नहीं कर रहा हो (Openjdk 8, 9 या 10 के साथ), मैं WSL पर
हूं

12

मैं अपने नए 17.10 इंस्टॉलेशन पर स्कैला बिल्ड टूल (sbt) सेट करने की कोशिश करते समय इस मुद्दे पर भी भाग गया।

मेरा समाधान शुद्ध करना था:

sudo apt purge openjdk-9-jdk openjdk-8-jdk java-common

(बस purd और jdk को पुनर्स्थापित करना पर्याप्त नहीं था, javaउसके बाद भी मेरे पास एक आदेश था । केवल purging द्वारा java-commonवह भी चला गया और फिर पुनः स्थापित करने का काम किया। मेरा मानना ​​है कि यह ca-certificates-java*पैकेज से संबंधित है , जिससे शुद्ध हो जाता है।java-common ।)

बाद में, मैंने फिर से java को फिर से इंस्टॉल किया (मैंने केवल Openjdk-9 का विकल्प चुना):

sudo apt install openjdk-9-jdk

इसने ट्रिगर किया: Running hooks in /etc/ca-certificates/update.d...और बहुत सी प्रमाणित फाइलें जोड़ीं। अब मेरा sbt बनाया गया था सफल:

$ sbt
Getting org.scala-sbt sbt 1.1.0  (this may take some time)...
downloading https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.1.0/sbt-1.1.0.jar ...
    [SUCCESSFUL ] org.scala-sbt#sbt;1.1.0!sbt.jar (657ms)
downloading https://repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.1.0/main_2.12-1.1.0.jar
...  

इसके लिए धन्यवाद - मेरे लिए समस्या हल हो गई। मेरे पास एक कैसर्ट फ़ाइल थी जो कि कीटूल के अनुसार खाली थी, और आपके द्वारा सुझाए गए (jdk8 के रूप में) शुद्ध करने और फिर से स्थापित करने ने इसे ठीक कर दिया।
ब्रायन स्मिथ

यह मेरे लिए लिनक्स मिंट 19 (जो कि ओपनडेक -11 स्थापित था) के साथ काम किया था और मैं ओपनजेडक -8
जेम्स

4

मैंने फिर से खरोंच से सब कुछ फिर से स्थापित किया है और यह समस्या गायब हो गई है। सभी मैं अलग से स्थापित करने openjdk-8-jdkसे पहले स्थापित किया गया था openjdk-9-jdk

यह काम करता हैं। क्या कोई अजीब निर्भरता के मुद्दे हैं?


इसने मेरे लिए भी काम किया, लेकिन मुझे सिस्टम को फिर से शुरू करना पड़ा। मूल रूप से मैंने एक इंस्टाॅल का प्रदर्शन किया openjdk-9-jdk, फिर 8. मैंने दोनों को अनइंस्टॉल कर दिया और इसे 8 - फिर से रीडायड कर दिया। 9. मैं भी हमेशा दौड़ता रहा sudo update-ca-certificates -f। यह सुबह नहीं थी और आज मैंने Oracle JDK डाउनलोड करना शुरू कर दिया। इससे पहले कि मैं समाप्त हो गया मैंने ओपनजडक कार्यों की खोज की और ग्रेडल सफलतापूर्वक खींच लिया।
foxx1337

2
मुझे भी शुद्ध करना था java-common। मुझे लगता है कि मुद्दा गलत तरीके से स्थापित था ca-certificates-java; जो जावा कॉमन्स के साथ हटा दिया जाता है और पुनर्बीमा पर यह पेम फ़ाइलों का एक गुच्छा बनाता है। Openjdk-8 को स्थापित करना आवश्यक नहीं है।
k0pernikus

1

मैंने पुराने इंस्टॉलेशन के बैकअप से / etc / ssl / certs / java / cacerts फ़ाइल कॉपी की। यदि आपके पास ऐसा कुछ है तो यह शायद सबसे आसान विकल्प है। यदि आप अन्य अनुप्रयोगों के साथ समस्या में हैं, तो मूल कैसर्ट फ़ाइल का बैकअप लेना सुनिश्चित करें।


1

Oracle ने कैसर्ट फ़ाइल (JKS से PCKS12 तक) के प्रारूप को बदल दिया, डिफ़ॉल्ट रूप से Ubuntu में JDK शामिल पहले से ही PCKS12 का उपयोग करता है, लेकिन आप शायद एक पुराने JDK का उपयोग कर रहे हैं जो इसे पढ़ने में सक्षम नहीं है। मैंने keytool का उपयोग करके अपनी keystore फाइल को JKS में बदल दिया। Thats क्यों एक पुराने एक की नकल करने के लिए workaround अन्य लोगों के लिए काम करता है, और क्यों अपने स्वीकृत जवाब के रूप में अच्छी तरह से काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.