2013-03-25 11 views
22

के अंदर जावा 8 टेस्टएनजी चलाने में समस्याएं मैं ओपनजेडीके 1.8 का उपयोग करके एक मेवेन एप्लिकेशन लिख रहा हूं और टेस्टएनजी का उपयोग करके परीक्षण चला रहा हूं।इंटेलिजे

जब मैं कमांड लाइन सब कुछ ठीक काम करता है से Maven चलाने के लिए, लेकिन जब मैं IntelliJ अंदर परीक्षण चलाने का प्रयास है, तो मेकअप प्रक्रिया निम्न त्रुटि प्रदर्शित कर रहा है:

java: javacTask: source release 8 requires target release 1.8 

मैं परियोजना सेटिंग्स इंगित करता हो 1.8 JDK और परियोजना भाषा स्तर 8.

अंदर Maven करने के लिए मैं निम्नलिखित ब्लॉक (जो मैं अनुमान लगा रहा हूँ अभी तक कहा जाता हो रही है नहीं है के रूप में यह कर समस्या का कारण किया जा रहा है) है

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.3.2</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
    </plugin> 

मैंने 1.8 जेडीके को इंगित करने के लिए मेवेन रनर जेआरई को भी कॉन्फ़िगर किया है।

मैं सिर्फ इंटेलीजे 12.0.4 परीक्षण ठीक से

मैं कुछ याद आ रही हूँ चलाने के लिए प्राप्त करने में सक्षम नहीं लग रहे हो?

+3

क्या आप .idea निर्देशिका और .iml फ़ाइलों को संलग्न कर सकते हैं? आपको यह जांचना होगा कि आपके मॉड्यूल बाइटकोड स्तर को ओवरराइड नहीं करते हैं और सभी मॉड्यूल जेडीके 1.8 का उपयोग करने के लिए सेट हैं, अतिरिक्त कंपाइलर विकल्प जोड़े नहीं गए हैं। – CrazyCoder

+0

compiler.xml <मॉड्यूल का नाम = "खेल" target = "1.7" /> आप एक जवाब के रूप लिख सकते हैं तो मैं यह कृपया – Xetius

उत्तर

71

CrazyCoder से संकेत के बाद यह पता चला है कि .idea/compiler.xml उस में निम्न अनुभाग

<bytecodeTargetLevel> 
    <module name="game" target="1.7" /> 
</bytecodeTargetLevel> 

मैं करने के लिए इस बदल दिया:

<bytecodeTargetLevel> 
    <module name="game" target="1.8" /> 
</bytecodeTargetLevel> 

और यह

+1

है कि स्वीकार कर सकते हैं कि वास्तव में क्या मैं था खोज रहे हैं धन्यवाद! –

+18

इसे 'सेटिंग्स' →' कंपाइलर '→' जावा कंपाइलर '→' प्रति-मॉड्यूल बाइटकोड संस्करण 'में भी बदला जा सकता है। – Bombe

+0

ने मेरा दिन बनाया और मुझे बहुत समय बचाया। धन्यवाद! – Thkru

7
काम किया

इसे बनाने का एक और तरीका है। फ़ाइलों पर जाएं-> अन्य सेटिंग्स-> खोज बार में "javac" टाइप करें -> जेडीके डिफ़ॉल्ट को "1.8" या आपके द्वारा लक्षित किसी भी संस्करण में बदलें।

2

Xetius 'जवाब इंटेलीजे 14.1.2

अंत में मेरे लिए काम नहीं किया मैंने पाया .idea/misc.xml

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.7" project-jdk-type="JavaSDK"> 
    <output url="file://$PROJECT_DIR$/out" /> 
</component> 

में खंड मैं के साथ समाप्त हो गया:

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> 
    <output url="file://$PROJECT_DIR$/out" /> 
</component> 
+0

एफडब्ल्यूआईडब्लू, मुझे लगता है कि प्रोजेक्ट-स्तरीय जेडीके स्विच करने के बाद यह स्वचालित रूप से बदल जाता है और इंटेलिज आपको पूछता है कि क्या आप प्रोजेक्ट को फिर से लोड करना चाहते हैं। अजीब बात यह है कि यह आपके लिए नहीं किया गया था – Amalgovinus

0

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