"संकलन शुरू नहीं किया जा सकता: आउटपुट पथ मॉड्यूल के लिए निर्दिष्ट नहीं है ..."


108

मेरे पास एक बहुत ही सरल जावा + ग्रेडल परियोजना है। यह ठीक बनाता है। "शेल रन" के साथ यह शेल से ठीक चलता है। हालांकि, अगर मैं इंटेलीज के अंदर दौड़ने की कोशिश करता हूं, तो मुझे मिलता है:

Cannot start compilation: the output path is not specified for module "xyz" Specify the output path in Configure Project.

मेरा "कंपाइलर आउटपुट" "इनहेरिट प्रोजेक्ट कंपाइल आउटपुट पाथ" पर सेट है। मुझे एक कस्टम आउटपुट पथ नहीं चाहिए, जो कुछ भी है, बस एक सामान्य ग्रेडल बिल्ड और रन करें।


1
IntelliJ से कोड चलाते समय, इसे Gradle के बजाय IntelliJ द्वारा संकलित और चलाया जाएगा, और एक अलग बिल्ड आउटपुट निर्देशिका का उपयोग किया जाएगा। (एंड्रॉइड एक अलग कहानी है।) हालांकि, अगर ग्रैड बिल्ड को सही तरीके से आयात किया जाता है, तो इंटेलीज आउटपुट डायरेक्टरी पहले से ही कॉन्फ़िगर होनी चाहिए।
पीटर निडरविसर

जवाबों:


102

आपको बस अपने पास जाना है Module settings > Projectऔर "प्रोजेक्ट कंपाइलर आउटपुट" निर्दिष्ट करना है और अपने मॉड्यूल को प्रोजेक्ट से विरासत में प्राप्त करना है। (है कि के लिए के लिए जाना Modules > Paths > Inherit project

इसने मेरे लिए चाल चली।


20
खैर, Inherit Projectमेरे लिए काम करने का विकल्प नहीं चुनना
कृष मुनोट

6
यह अपने लिए क्यों नहीं निकाल सकता। हर कोई कहता है कि IntelliJ ग्रहण से बेहतर है लेकिन मेरे अनुभव में, यह खुद के लिए नहीं सोच सकता।
एंड्रयू एस

FYI करें, मैंने पाया है कि IntelliJ में आप एक फ़ाइल> नया> मॉड्यूल ... और जावा मॉड्यूल बनाते हैं, आउटपुट पथ डिफ़ॉल्ट रूप से सेट होना चाहिए।
जे वुडकुक

यदि यह काम नहीं करता है, तो IntelliJ को पुनरारंभ करना न भूलें। इसे मेरे लिए तय किया।
कोबी फिशर

97

आपको " प्रोजेक्ट कंपाइलर आउटपुट " फ़ील्ड में एक पथ परिभाषित करना होगा

File> Project Structure...> Project>Project compiler output

इस पथ का उपयोग सभी परियोजना संकलन परिणामों को संग्रहीत करने के लिए किया जाएगा ।


10

ग्रेड में विचार प्लगइन को कॉन्फ़िगर करते समय, आपको आउटपुट निर्देशिकाओं को निम्नानुसार परिभाषित करना चाहिए।

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}

अच्छा लग रहा है। इस कॉन्फ़िगरेशन को किस फ़ाइल में डालूँ?
क्ले

आपको इसे अपने प्रोजेक्ट में build.gradle फ़ाइल में डालना चाहिए।
लेमिओरहान

10

मैं इसका उत्तर दे रहा हूं ताकि मुझे इस त्रुटि का फिर से पता लगाने के लिए समाधान मिल सके।

प्रोजेक्ट कंपाइल आउटपुट पथ को सेट करें path_of_the_project_folder/out। यही आज काम कर रहा है। Intellj प्रलेखन बनाता है ऐसा लगता है जैसे हम किसी भी फ़ोल्डर का चयन कर सकते हैं लेकिन ऐसा नहीं है।


7

यदि उपरोक्त विधि में से कोई भी काम नहीं किया है, तो यह कोशिश करें कि यह मेरे लिए काम करे।

पर जाएं फ़ाइल> परियोजना संरचना> परियोजना और उसके बाद में परियोजना संकलक आउटपुट तीन बिंदुओं पर क्लिक करें और अपनी परियोजना का नाम (फ़ाइल का नाम) के मार्ग प्रदान करते हैं और फिर पर क्लिक करें लागू करें और पर से ठीक है

यह उस तरह होना चाहिए जैसा कि तस्वीर में मैं एक पोस्टिंग हूं।


8
आपके उत्तर में कोई चित्र नहीं है।
जेम्स व्हाइटली

2
@priyanshu: सच में, आपकी पोस्ट में कोई तस्वीर नहीं है।
पवन

4

.Iml फ़ाइल खोलें। 'NewModuleRootManager' कीवर्ड देखें। जांचें कि क्या विशेषता 'विरासत-संकलक-आउटपुट' सही है या नहीं। अगर सच में सेट नहीं है।

ऐशे ही :

component name="NewModuleRootManager" inherit-compiler-output="true">
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" />

3

दो काम करने के लिए:

  1. प्रोजेक्ट सेटिंग्स> प्रोजेक्ट कंपाइलर आउटपुट > इसे "प्रोजेक्ट पथ (आप वास्तविक प्रोजेक्ट का पथ)" + "आउट" के रूप में सेट करें।

  2. प्रोजेक्ट सेटिंग्स> मॉड्यूल> पथ> " इनहेरिट प्रोजेक्ट कंपाइल पथ " चुनें


1

इसके बाद

दो काम करने के लिए:

प्रोजेक्ट सेटिंग्स> प्रोजेक्ट कंपाइलर आउटपुट> इसे "प्रोजेक्ट पथ (आप वास्तविक प्रोजेक्ट का पथ)" + "आउट" के रूप में सेट करें।

प्रोजेक्ट सेटिंग्स> मॉड्यूल> पथ> "इनहेरिट प्रोजेक्ट कंपाइल पथ" चुनें "

यदि बटन चलाया गया तो सक्रिय नहीं है

आपको IDEA को फिर से लोड करना होगा



0

अपना प्रोजेक्ट फ़ाइल शुरू करने के लिए ड्रॉप डाउन बदलें

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


0

मुझे यह त्रुटि तब भी मिली जब एक टेम्पलेट का उपयोग किए बिना IntelliJ में एक परियोजना बनाते हुए।

मेरे पास 2 एसडीके स्थापित हैं: अमेज़ॅन कोरेटो और जावा संस्करण 11.0.4 और इसलिए, जब मैं यह त्रुटि होती है तो मैं क्या करता हूं "एसडीके बदलें" यह आमतौर पर कोरेटो के साथ ठीक काम करता है

ऐसा करने के लिए आपको फ़ाइल (IntelliJ में) / प्रोजेक्ट स्ट्रक्चर / प्रोजेक्ट / प्रोजेक्ट SDK पर क्लिक करने की आवश्यकता है: ड्रॉपडाउन सूची से चयन करें (या अपने कंप्यूटर में विकल्प की जाँच करें) जैसा कि यहाँ दिखाया गया है

आशा है कि यह आपके लिए भी काम करेगा

बेस्ट, कॉन्स्टेंटिन


0

स्टोर संकलित वर्ग फ़ाइल के लिए पूर्वनिर्धारित फ़ोल्डर गुम होने के कारण कीड़े जो सामान्य रूप से डिफ़ॉल्ट रूप से / बाहर फ़ोल्डर है। आप Intellij> Import Project> को मौजूदा स्रोत से बंद करने का प्रयास कर सकते हैं। इससे इस समस्या का समाधान हो जाएगा।

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