हर बार जब मैं IntelliJ में इस अपवाद का सामना करता हूं, तो मैं इसे मामूली रूप से ठीक करता हूं और आसानी से ठीक करना भूल जाता हूं।

कोड:

package whatever;
import org.junit.Test;
public class TestClass
{
    @Test
    void test() {}
}

परिदृश्य:

  • नया TestClass जोड़ें।
  • TestClass पर राइट-क्लिक करें।
  • परीक्षण मामलों को चलाने के लिए "रन 'टेस्टक्लास'" चुनें।

"संदेश निर्माण" फलक दिखाता है:

Information:javac 9-ea was used to compile java sources
Information:Module "dummy" was fully rebuilt due to project configuration/dependencies changes
Information:8/16/17 11:35 PM - Compilation completed with 1 error and 0 warnings in 1s 663ms
Error:java: java.lang.ExceptionInInitializerError

क्या गलत हो सकता है?

इस साधारण परिदृश्य में संभावित मुद्दे क्या हैं?

IntelliJ: समुदाय 2017.1 (विचार-आईसी-171.4424.56)

5
uvsmtid 16 अगस्त 2017, 18:54

5 जवाब

सबसे बढ़िया उत्तर

समस्या को ठीक करने के लिए, मैं करता हूं:

  • फ़ाइल -> परियोजना संरचना... -> परियोजना सेटिंग्स/परियोजना -> परियोजना एसडीके।
  • "9-ईए" से "1.8" में बदलें।

विवरण

जाहिरा तौर पर, मुद्दा चयनित JDK-s के निर्माण (जावा 9) और चलाने (जावा 8) में विसंगतियों का है।

मुझे यकीन नहीं है कि उसी प्रोजेक्ट के लिए "9-ईए" को फिर से कैसे चुना जाता है - न ही IntelliJ स्वयं "9-ea" JRE में चलता है (सहायता के अनुसार -> के बारे में) न ही JAVA_HOME env var इस पर सेट है न ही अन्य संभावित सेटिंग्स (जैसे Maven -> Runner) किसी भी "9-ea" का सुझाव देती हैं।

मैंने उसी JDK (जावा 9) के तहत परीक्षण चलाने का प्रबंधन नहीं किया, जिसके तहत इसे संकलित किया जाता है। हालाँकि, यह स्पष्ट नहीं है कि JDK परीक्षण किसके तहत चलाए जाते हैं क्योंकि IntelliJ केवल JDK के बारे में संकलन के लिए रिपोर्ट करता है।

23
uvsmtid 16 अगस्त 2017, 19:19

जब मैंने IntelliJ-2019.2 संस्करण में अपना एप्लिकेशन चलाने का प्रयास किया तो मुझे उसी त्रुटि का सामना करना पड़ रहा था। इस समस्या को हल करने के लिए मैंने जिन चरणों का पालन किया है, वे नीचे दिए गए हैं।

संस्करण:

इंटेलीज : आईडिया-इंटेलिजे-2019.2

जावा: jdk1.8_221

  1. IntelliJ में नीचे के पथ पर जाएँ

फ़ाइल -> परियोजना संरचना -> परियोजना -> परियोजना एसडीके -> (जावा संस्करण का चयन करें जिसे आप उपयोग करना चाहते हैं)

(मेरे मामले में 'प्रोजेक्ट एसडीके' जावा -11 के तहत चुना गया था, मैंने इसे 'जावा 8' में बदल दिया)

  1. 'लागू करें' और फिर 'ठीक' पर क्लिक करें।

enter image description here

enter image description here

मुझे लगता है कि मैं इस मुद्दे में भाग गया क्योंकि इंटेलिजे इन-बिल्ट जावा -11 का उपयोग करके मेरी जावा कक्षाओं को संकलित करने की कोशिश कर रहा था जबकि मेरी जावा कक्षाएं जावा -8 पर बनाई गई हैं। तो जब मैंने इंटेलिजे में जावा -8 को स्पष्ट रूप से कॉन्फ़िगर किया, तो यह काम किया !! उम्मीद है ये मदद करेगा।

2
Tapan Hegde 6 नवम्बर 2019, 12:35

अगर आपने हाल ही में अपना आईडीई अपडेट किया है तो आप इन चरणों को आजमा सकते हैं।

  1. विचार प्रोजेक्ट/कार्यक्षेत्र के लिए .idea निर्देशिका हटाएं
  2. फिर फ़ाइल पर जाएँ -> अमान्य कैश/पुनरारंभ करें...
  3. एक बार जब आइडिया फिर से शुरू हो जाए तो अपने मॉड्यूल को दोबारा जोड़ें/आयात करें
0
Pravin Jadhav 18 अप्रैल 2019, 18:29

एक बार जब मैंने अपनी मशीन में जावा 11 स्थापित किया तो मुझे यह अपवाद दिखाई देने लगा। JAVA_HOME डिफ़ॉल्ट रूप से Java 11 की ओर इशारा कर रहा था और मेरा प्रोजेक्ट अभी भी Java 8 में था। JAVA_HOME को Java 8 jdk में बदलने से मेरे लिए समस्या ठीक हो गई।

यदि आपके पास एक से अधिक JDK पर चलने वाले कई प्रोजेक्ट हैं, तो इस कमांड का उपयोग जावा संस्करण को प्रति कमांड अस्थायी रूप से बदलने के लिए करें।

JAVA_HOME=/path/to/JVM/jdk/Home mvn clean install

1
Michael Scott 12 अगस्त 2019, 18:23

यदि आप लोम्बोक का उपयोग करते हैं: मेरे लिए यह पोम.एक्सएमएल में मेरी मेवेन लोम्बोक निर्भरता के लिए नवीनतम संस्करण सेट करने का एक समाधान था।

   *<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
        <version>1.18.8</version>
    </dependency>*
6
SJX 6 अगस्त 2019, 17:38