प्रतिक्रियाशील त्रुटि: "जावा संस्करण को '9.0.1' से निर्धारित नहीं किया जा सका।"


108

मैं macOS पर काम कर रहा हूं और अभी शुरुआत कर रहा हूं react-native

आरंभ करने के लिए पहला कदम है: react-native run-androidया react-native run-ios। लेकिन मुझे यह त्रुटि मिल रही है:

react-native run-android

परिणाम:

Scanning folders for symlinks in /Users/ric/myprojs/albums/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '9.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

जब मैं दौड़ता हूं तो यह मुझे मिलता है java --version:

java --version

परिणाम:

java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
mbp:albums ric$ java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

संपादित करें

मेरा जावा संस्करण:

javac --version

परिणाम:

javac 9.0.1

कुछ पता है इसे कैसे सुधारना?


2
क्या आप javac -versionटर्मिनल में भी भाग कर सकते हैं
bennygenel

1
मैंने पाया कि यह मुद्दा थोड़ा पुराना है लेकिन जावा संस्करण या ग्रेडल से संबंधित हो सकता है।
बेन्निजेल

जवाबों:


205

अपनी PROJECT_PATH/android/gradle/wrapper/gradle-wrapper.propertiesफ़ाइल में,distributionUrl निम्न के लिए अपने अद्यतन :

distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip

संबंधित श्रेणीबद्ध वितरण दस्तावेज़ देखें


4
ऐप-फ़ोल्डर
मुहम्मद अदील

6
बाद में मैंने आपके सुझाव के लिए ढाल संस्करण को बदल दिया, इससे मुझे एक और त्रुटि
मिली

7
हालांकि यह मदद क्यों करता है? जब आप एक नया अनुप्रयोग शुरू करते हैं, तो प्रतिक्रिया-मूलक क्रम से 2.14.1 डिफ़ॉल्ट रूप से उपयोग होता है, इसलिए हमें एक अलग की आवश्यकता क्यों है?
वाल्टरी

11
इसे जोड़ने के बाद यह त्रुटि हो रही है> javax / xml / bind / annotation / XmlSchema
Milon

15
आपको ग्रेडल के नवीनतम संस्करण का उपयोग करने की आवश्यकता है। उदाहरण के लिए, जावा 11 का समर्थन करने के लिए, आप उपयोग कर सकते हैंgradle-4.10-all.zip
एंड्री कोल्पकोव

24

वास्तव में इस त्रुटि के आसपास का सबसे तेज़ तरीका JDK 8 का उपयोग करना है। जब आपको वास्तव में JDK9 का उपयोग करने की आवश्यकता हो, तब छोड़कर।

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

अपने JVA_HOME को नए JDK संस्करण में परिवर्तन करने के लिए मत भूलना!


1
संबंधित लिंक स्विच करने के लिए जावा संस्करण stackoverflow.com/questions/21964709/…
अक्षय विजय जैन

15

है कि आप कर रखी हैं JDK8स्थापित और फिर सेट JAVA_HOMEमेंJDK8

उदाहरण के लिए:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

या .bash_*इस चर को सेट करने के लिए फ़ाइलों का उपयोग करें


1
मैं अपने .zshrc में इस पर था MAC: export JAVA_HOME=$(/usr/libexec/java_home) यह बदलने के export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)लिए नवीनतम संस्करण जावा v8 के स्थापित संस्करण उठाता है, और इसी मुद्दे को तय किया।
ग्रेग हैगूड

8
vi ~/.bash_profile

फिर निम्नलिखित लाइनें जोड़ें:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

वर्तमान फ़ाइल को मौजूदा शेल में प्रभावी बनाने के लिए फ़ाइल को स्रोत:

source ~/.bash_profile 

1
इस अंतिम पंक्ति export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)ने मेरे लिए चीजों को हल किया - धन्यवाद!
JohnSalzarulo

7

MacOS पर, मैंने निम्नलिखित कमांड चलाई:

brew cask uninstall java
brew tap caskroom/versions
brew cask install java8 "or just brew cask install java to install latest version"

3

मुझे यह त्रुटि मिल रही थी, लेकिन जावा के हालिया संस्करण के लिए - 10.0.2।

अपनी त्रुटि को ठीक करने के लिए, मैंने @Blacktovicheइस गितुब मुद्दे में वर्णित चरणों का पालन किया : https://github.com/facebook/react-native/issues/17688

जब मैंने androidएंड्रॉइड स्टूडियो के माध्यम से अपनी परियोजना के अंदर फ़ोल्डर खोला , तो मुझे संकेत दिया गया था Android Gradle plugin update recommended। उस समय, मैं थोड़ा पुराने ट्यूटोरियल का अनुसरण कर रहा था जिसने मुझे क्लिक करने के लिए कहा था Don't remind me again for this project

हालाँकि, जैसा @Blacktovicheकि ऊपर दिए गए गितुब मुद्दे में अनुशंसित है, कभी-कभी ग्रैडल प्लगइन को अपडेट करना आवश्यक है। अपडेट करने के बाद, मुझे भी क्लिक करना होगा Install Build Tools 27... and sync project(मुझे सटीक संस्करण याद नहीं है)।

इन चरणों का पालन करने के बाद, मैं एंड्रॉइड स्टूडियो एमुलेटर पर अपनी प्रतिक्रिया देशी ऐप को सफलतापूर्वक चलाने में सक्षम था।

आशा है कि यह किसी की मदद करता है!


1

---- दिसंबर 2018 --- ध्यान रखें --- रिएक्टिव नेटिव 8 से अधिक जावा संस्करणों के साथ काम नहीं करता है, इसलिए आपको अपने 9.0.1संस्करण की स्थापना रद्द करने की आवश्यकता है । ऐसा करने के लिए, निम्नलिखित कमांड निष्पादित करें:

cd /Library/Java/JavaVirtualMachines/
ls -l

अपने जावा संस्करण वाले फ़ोल्डर को पहचानें, फिर उसे हटा दें

sudo rm -rf jdk.x.x_xxx.jdk

उसके बाद आप फिर से oracle से जावा 8 डाउनलोड और इंस्टॉल कर सकते हैं। Jdk8 डाउनलोड पेज देखें


"रिएक्टिव नेटिव 8 से अधिक जावा संस्करणों के साथ काम नहीं करता है" बिल्कुल गलत। मेरे पास अभी JDK 13 का निर्माण चल रहा है।
इयान केम्प

मेरा उत्तर DEC 2018 से है। 2018 से React Native प्राप्त करें, और फिर JDK 13 पर चलाएं और फिर यदि यह काम करता है तो यहां आएं और अपना उत्तर अपडेट करें।
गुहिलमे फेरेरा

0

यदि आप खिड़कियों का उपयोग कर रहे हैं; सुनिश्चित करें कि आप अपने jdk पथ को पर्यावरण पथ चर में जोड़ते हैं। फिर अपने एंड्रॉइड फ़ोल्डर को अपनी प्रतिक्रिया देशी प्रोजेक्ट से एंड्रॉइड स्टूडियो में खोलें। यह आपके लिए आवश्यक चीजों को स्वचालित रूप से अपडेट कर देगा।


0

मुझे आमतौर पर यह त्रुटि मिलती है जब मैं एंड्रॉइड स्टूडियो का उपयोग करके परियोजना का निर्माण करना भूल जाता हूं। एक साधारण सिंक और ग्रैडल को अपग्रेड करना काम करेगा।


0

मैं इसे अपने JDK को 8 में अपग्रेड करके हल करता हूं।


0

उबंटू पर, आपको टर्मिनल में इन कमांड लाइनों को चलाना चाहिए:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-installer
sudo apt install oracle-java8-set-default
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.