जब मैं अपना कोड संकलित करता हूं तो मुझे एक संदेश मिल रहा है:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
मैं कैसे के साथ recompile करते हैं -Xlint:unchecked
?
जब मैं अपना कोड संकलित करता हूं तो मुझे एक संदेश मिल रहा है:
Note: H:\Project2\MyGui2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
मैं कैसे के साथ recompile करते हैं -Xlint:unchecked
?
जवाबों:
Javac के लिए कमांड लाइन पर इसे निर्दिष्ट करें:
javac -Xlint: अनियंत्रित
या यदि आप चींटी का उपयोग कर रहे हैं तो अपने javac लक्ष्य को संशोधित करें
<javac ...>
<compilerarg value="-Xlint"/>
</javac>
यदि आप मावेन का उपयोग कर रहे हैं, तो इसे कॉन्फ़िगर करें maven-compiler-plugin
<compilerArgument>-Xlint:unchecked</compilerArgument>
<compilerArgument>
के तहत चला जाता है <configuration>
के भीतर नहीं `<compilerArguments> ' तत्व। मुझे मूर्ख।
के लिए इंटेलीजे 13.1 , करने के लिए जाना File> - Settings-> Project Settings-> Compiler> - Java Compiler,, और पर दाएँ हाथ की ओर के लिए Additional command line parameters
प्रवेश "-Xlint:unchecked"
।
ग्रेडल प्रोजेक्ट में, आप इस कंपाइल पैरामीटर को निम्नलिखित तरीके से जोड़ सकते हैं:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked"
}
}
Compile
का नाम बदल दिया गया है JavaCompile
, इसलिए यह हैtasks.withType(JavaCompile) { ... }
allprojects { // ... }
मुझे पता है कि यह अजीब लगता है, लेकिन मुझे पूरा यकीन है कि यह आपकी समस्या है:
MyGui.java में कहीं आप प्रकार निर्दिष्ट किए बिना एक सामान्य संग्रह का उपयोग कर रहे हैं। उदाहरण के लिए यदि आप कहीं ArrayList का उपयोग कर रहे हैं, तो आप यह कर रहे हैं:
List list = new ArrayList();
जब आपको ऐसा करना चाहिए:
List<String> list = new ArrayList<String>();
ढाल के लिए एक और तरीका है:
compileJava {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } }
CMD में, लिखें:
javac -Xlint:unchecked MyGui2.java
यह अनियंत्रित या असुरक्षित संचालन की सूची प्रदर्शित करेगा।
यदि आप NetBeans जैसी IDE के साथ काम करते हैं, तो आप Xlint:unchecked
अपनी परियोजना की संपत्ति में संकलक विकल्प निर्दिष्ट कर सकते हैं ।
बस प्रोजेक्ट विंडो पर जाएं, प्रोजेक्ट में राइट क्लिक करें और फिर क्लिक करें Properties
।
दिखाई देने वाली विंडो में Compiling
श्रेणी को खोजें, और लेबल वाले टेक्स्टबॉक्स Additional Compiler Options
में Xlint:unchecked
विकल्प सेट करें ।
इस प्रकार, परियोजना को संकलित करने के लिए हर बार सेटिंग सेट रहेगी।
ग्रेडर संकलक तर्कों का पालन करने के लिए एक क्लीनर तरीका:
compileJava.options.compilerArgs = ['-Xlint:unchecked','-Xlint:deprecation']
-Xlint का उपयोग कर संकलन करने का अन्य तरीका: कमांड लाइन के माध्यम से अनियंत्रित
javac abc.java -Xlint:unchecked
यह अनियंत्रित और असुरक्षित चेतावनी दिखाएगा।
-Xlint:unchecked
कमांड लाइन को जोड़ रहे हैं जिसे आप निष्पादित कर रहे हैं, जैसे कि संदेश इंगित करता है।