"त्रुटि का कारण क्या है: चयनित जेडीके में जावा वीएम निष्पादन योग्य निर्धारित नहीं कर सकता है"?


110

मैं IntelliJ IDEA 13.1.4 का उपयोग कर रहा हूं और नवीनतम रिलीज 14 की भी कोशिश की।

SBT चलाने से मुझे निम्नलिखित त्रुटि मिलती है:

Error:Cannot determine Java VM executable in selected JDK

मेरे पास JDK 1.7 मेरी मशीन पर और PATH पर स्थापित है।

लॉग में ( ~/Library/Logs/IntelliJIdea14/idea.logMacOS पर) निम्न स्टैक ट्रेस है:

2014-11-03 11:22:05,054 [4896641]   WARN - nal.AbstractExternalSystemTask - Cannot determine Java VM executable in selected JDK
com.intellij.openapi.externalSystem.model.ExternalSystemException: Cannot determine Java VM executable in selected JDK
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$10.apply(SbtExternalSystemManager.scala:97)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$10.apply(SbtExternalSystemManager.scala:97)
    at scala.Option.getOrElse(Option.scala:120)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$.executionSettingsFor(SbtExternalSystemManager.scala:96)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$getExecutionSettingsProvider$1.apply(SbtExternalSystemManager.scala:54)
    at org.jetbrains.sbt.project.SbtExternalSystemManager$$anonfun$getExecutionSettingsProvider$1.apply(SbtExternalSystemManager.scala:54)
    at org.jetbrains.sbt.package$$anon$3.fun(package.scala:29)
    at org.jetbrains.sbt.package$$anon$3.fun(package.scala:28)
    at com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.getExecutionSettings(ExternalSystemApiUtil.java:590)
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.a(ExternalSystemFacadeManager.java:201)
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.a(ExternalSystemFacadeManager.java:178)
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager.doInvoke(ExternalSystemFacadeManager.java:133)
    at com.intellij.openapi.externalSystem.service.ExternalSystemFacadeManager$MyHandler.invoke(ExternalSystemFacadeManager.java:270)
    at com.sun.proxy.$Proxy57.getResolver(Unknown Source)
    at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:48)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:137)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:123)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.execute(ExternalSystemUtil.java:475)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3$1.run(ExternalSystemUtil.java:543)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:609)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$7.run(ProgressManagerImpl.java:410)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$3.run(ProgressManagerImpl.java:194)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.a(ProgressManagerImpl.java:281)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:181)
    at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:640)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:405)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)

इसका क्या कारण हो सकता है?


यह संभावना है कि आपके पास Project SDKपरिभाषित परियोजना के लिए जेआरई है । क्या आप परियोजना के लिए प्रोजेक्ट सेटिंग्स की जाँच कर सकते हैं और प्रोजेक्ट के तहत सेटिंग्स देख सकते हैं?
जेसेक लाकोव्स्की

मैंने पाया कि मुझे इस उत्तर में वर्णित अनुसार अमान्य कैश की आवश्यकता थी ।
मई को रॉ

जवाबों:


204

आपको ओपन / इंपोर्ट प्रोजेक्ट डायलॉग से सेटिंग्स से jdk सेट करके इसे काम करने में सक्षम होना चाहिए।

स्वागत स्क्रीन से, Configure -> Project defaults -> Project structurejdk पर जाएं और जोड़ें।

यहां छवि विवरण दर्ज करें

Sbt प्रोजेक्ट को खोलना तब अच्छी तरह से काम करना चाहिए।

यहां से समाधान मिला


25

JDK सेट करने का दूसरा तरीका आपके वर्तमान मॉड्यूल / प्रोजेक्ट सेटिंग्स (आपके वर्तमान प्रोजेक्ट के लिए) से है

Open Module Settingsप्रोजेक्ट संदर्भ मेनू से चुनें (या डिफ़ॉल्ट हिट एफ 4),
फिर बाएं टैब से Projectऔर Project SDKड्रॉपडाउन पर सही बिंदु से ।

यहां छवि विवरण दर्ज करें


20

समस्या आमतौर पर ".idea / sbt.xml" में गलत JDK संस्करण के कारण होती है, जैसे:

<option name="jdk" value="1.7" />

यह विकल्प तदनुसार अद्यतन नहीं किया जाता है जब प्रोजेक्ट SDK बदल जाता है, तो SCL-10085 देखें । यदि आपके पास अन्य JDK (1.7 मेरे उदाहरण में) आमतौर पर कॉन्फ़िगर किया गया है, तो कोई त्रुटि नहीं होगी, लेकिन प्रोजेक्ट SDK चुपचाप वापस बदल दिया जाएगा। अन्यथा, यह त्रुटि तब होती है।

समस्या को आसानी से ".idea / sbt.xml" में मान को सही JDK संस्करण में संपादित करके हल किया जा सकता है।


7

जब आप "SBT कार्यों" में रिफ्रेश करने की कोशिश करते हैं तो भी वही त्रुटि होती है।

खुला हुआ

Preferences -> Language & Frameworks -> Scala Compiler Server

चालू करो

Run compile server (in external build mode)

एक बार जब आप प्रोजेक्ट को रिफ्रेश करते हैं, तो जब आप एडिटर में अपना कोड बदलते हैं, तो हॉटवैपिंग को वापस सक्षम करने के लिए इसे फिर से बंद कर दें।



1

इंटेलीज 13.1.6> फाइल> प्रोजेक्ट स्ट्रक्चर> सेट प्रोजेक्ट एसडीके


1

जब मैं Java1.6 और Java1.7 को प्रोजेक्ट सेटिंग्स से हटाता हूं (Java8 डिफ़ॉल्ट रूप से) के बाद मुझे भी यही समस्या हुई।

अंत में मैं कस्टम जावा (सेटिंग्स -> बिल्ड, निष्पादन, परिनियोजन -> बिल्ड टूल -> एसबीटी) एसबीटी जेवीएम कॉन्फिगर को बदलकर समस्या का समाधान करता हूं।


1

मेरे लिए उपरोक्त सुझावों ने किसी कारण से मदद नहीं की। हालाँकि, मैंने यह पता लगाया कि प्रोजेक्ट डिफॉल्ट्स> प्रोजेक्ट स्ट्रक्चर (वेलकम स्क्रीन) के तहत मेरा डिफ़ॉल्ट प्रोजेक्ट एसडीके गो एसडीके पर सेट था।

मेरे लिए जो काम किया गया था वह इस डिफ़ॉल्ट एसडीके को जावा जेडीके में सेट कर रहा था।


0

मेरे लिए, मैंने "ओपन मॉड्यूल सेटिंग्स"> मॉड्यूल> निर्भरता> मॉड्यूल एसडीके में जेडीके का चयन किया था। हालाँकि, SBT प्रोजेक्ट स्तर पर JDK की तलाश कर रहा था जो "Open Module Settings"> Project> Project SDK में सेट है जैसा @michasm ने ऊपर बताया है


0

नवीनतम nightlies स्काला प्लगइन परिवर्तन कैसे परियोजना JDK सेट कर दिया जाता है, जो ज्यादातर मामलों में इस का समाधान करना चाहिए। मुझे पता है अगर यह अभी भी कुछ मामलों पर टूट जाता है।


0

यह मेरे लिए एक बहु-भाषा परियोजना में हुआ जब मेरे प्राथमिक मॉड्यूल का प्रोजेक्ट एसडीके पायथन था और मैं एक माध्यमिक मॉड्यूल को जोड़ने की कोशिश कर रहा था जो जेडीके (एक sbt प्रोजेक्ट आयात कर रहा था)।

मुझे sbt मॉड्यूल को जोड़ने के लिए प्राथमिक मॉड्यूल के प्रोजेक्ट SDK को JDK में अस्थायी रूप से बदलना पड़ा। मैं तो वापस जाने के लिए और प्रत्येक मॉड्यूल को सही SDK में बदलने की क्षमता रखता था।

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