2013-10-25 8 views
6

मैं वर्तमान में इंटेलिजे स्कैला प्लगइन को एक स्पिन दे रहा हूं और एक चीज मुझे एक वी-बिट बिगड़ रही है। संकलन करते समय मुझे 3 चेतावनियां मिलती हैं।स्कैला चेतावनियां, इंटेलिजे और कंपाइलर झंडे

Warning: scala: Recompiling 4 files 
Warning: scala: 
Warning: scala: there were 1 deprecation warnings; re-run with -deprecation for details 

यह मुझे चेतावनी क्यों देता है कि फ़ाइलों को फिर से सम्मिलित किया जा रहा है? क्या इसे बंद कर दिया जा सकता है? और अंत में, खाली चेतावनी के साथ क्या है? : डी

+1

कौन सा स्काला प्लगइन आप उपयोग कर रहे हैं? मैं इसका उपयोग कर रहा हूं http://www.jetbrains.net/confluence/display/SCA/Scala+Plugin+for+IntelliJ+IDEA। आप इस तरह से कंपाइलर विकल्प जोड़ सकते हैं: "प्रोजेक्ट स्ट्रक्चर" खोलें -> "Facets" चुनें -> "स्कैला/स्कैला" चुनें -> "अतिरिक्त कंपाइलर विकल्प" बदलें। और यह अर्थहीन चेतावनियों को भी प्रिंट नहीं करता है। – longhua

उत्तर

20

इंटेलीजे 14 में:

  1. लाओ वरीयताओं Intellij IDEA > Preferences या cmd + ,
  2. Scala Compiler देखें। वैकल्पिक रूप से, यह Deprecation warnings

अपनी परियोजना के पुनर्निर्माण के लिए के तहत Build, Execution, Deployment > Compiler > Scala Compiler

  • चेक विकल्प है!

    Screenshot of preferences to enable deprecation flag.

  • +0

    के बजाय katfang के उत्तर को स्वीकार करें लिनक्स में यह फ़ॉर्म फ़ाइल> अन्य सेटिंग्स> डिफ़ॉल्ट सेटिंग्स के अंतर्गत है – CPS

    5

    JVM पैरामीटर नहीं संकलक मापदंडों है - पहले वास्तव में अपने कोड को चलाने के लिए उपयोग किया जाता है, बाद में सिर्फ बाईटकोड करने के लिए इसे संकलित करने के लिए इस्तेमाल किया। आप परियोजना सेटिंग खोलें और विकल्पों को समायोजित करने की जरूरत है:

    enter image description here

    +3

    यह समाधान Intellij 14. के रूप में अप्रचलित है। अब स्कैला पहलू नहीं हैं। – seanmcl

    +2

    नया स्थान [katfang के उत्तर] में है (http://stackoverflow.com/a/27932678/27358)। –

    +0

    @JustDanyul कृपया, इस –

    6

    मैं चेतावनी और त्रुटियों IntelliJ विचार द्वारा रिपोर्ट के बारे में कुछ शब्द जोड़ना चाहते हैं।

    जेटब्रेन त्रुटियों की पहचान और रिपोर्ट करने के लिए अपने स्वयं के स्केल विश्लेषक का उपयोग करता है। कभी-कभी यह नकली त्रुटियों या चेतावनियों की रिपोर्ट करता है। मुझे लगता है कि ऐसा इसलिए है क्योंकि स्केल कंपेलरों के दृष्टिकोण से अधिक जटिल भाषा है और फिर अन्य भाषाओं में से अधिक है। यहां तक ​​कि यदि सभी आधिकारिक स्कैला विनिर्देश लागू किए गए थे, तो कुछ ऐसे मामले हैं जिन्हें छोड़ा गया है (पढ़ें: हमेशा कुछ बग हैं)। यदि आपको अपने इंटेलिजे आईडीईए द्वारा त्रुटि/चेतावनी के रूप में रिपोर्ट की गई कुछ चीज़ मिलती है जो स्केलैक कंपाइलर के लिए ठीक है तो आप हमेशा इसे एक बग के रूप में रिपोर्ट करने का प्रयास कर सकते हैं (IntelliJ IDEa रिपोर्टिंग बग का समर्थन करता है)। जेटब्रेन से लोग इसे ठीक करेंगे।

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

    सब से ऊपर का सारांश: सभी चेतावनियों और त्रुटियों है कि इंटेलीजे या अन्य आईडीई जब तक यह अच्छी तरह से scalac का उपयोग कर संकलित आप कह रहा है विश्वास न करें।

    संबंधित मुद्दे