के लिए "प्रतीक नहीं ढूंढ सकता" मेरे पास% CLASSPATH% सेट अप नहीं है। जैसा कि मैं समझता हूं, यह कोई समस्या नहीं होनी चाहिए क्योंकि जावैक वर्तमान निर्देशिका का क्लासपाथ मान लेगा।अपनी खुद की कक्षा
जैसा कि आप नीचे देख सकते हैं, जावैक मेरी Case
कक्षा को खोजने में असमर्थ है, भले ही यह एक ही सटीक निर्देशिका में है। यह क्यों हो रहा है पर कोई विचार? जब मैं ग्रहण का उपयोग करता हूं तो यह कोड ठीक काम करता है।
C:\Documents and Settings\joep\My Documents\GCJ\src\codejam2011\Round0\D>dir /B
Case.class
Case.java
EntryPoint.java
C:\Documents and Settings\joep\My Documents\GCJ\src\codejam2011\Round0\D>javac EntryPoint.java
EntryPoint.java:16: cannot find symbol
symbol : class Case
location: class codejam2011.Round0.D.EntryPoint
ArrayList<Case> cases = new ArrayList<Case>();
^
EntryPoint.java:16: cannot find symbol
symbol : class Case
location: class codejam2011.Round0.D.EntryPoint
ArrayList<Case> cases = new ArrayList<Case>();
^
EntryPoint.java:24: cannot find symbol
symbol : class Case
location: class codejam2011.Round0.D.EntryPoint
cases.add(new Case(new Integer(count), line));
^
3 errors
C:\Documents and Settings\joep\My Documents\GCJ\src\codejam2011\Round0\D>
अद्यतन 1:
(Case.class फ़ाइल को हटाने के बाद भी)
C:\Documents and Settings\joep\My Documents\GCJ\src>javac -cp . codejam2011/Round0/D/EntryPoint.java
codejam2011\Round0\D\EntryPoint.java:16: cannot access codejam2011.Round0.D.Case
bad class file: .\codejam2011\Round0\D\Case.java
file does not contain class codejam2011.Round0.D.Case
Please remove or make sure it appears in the correct subdirectory of the classpath.
ArrayList<Case> cases = new ArrayList<Case>();
^
1 error
C:\Documents and Settings\joep\My Documents\GCJ\src>
अपने पैकेज जड़ (एसआरसी), मैं एक नया त्रुटि मिलती से संकलन करने की कोशिश के बाद अद्यतन 2: ऐसा लगता है कि यह एक अलग पैकेज से Case.java फ़ाइल को पकड़ रहा है।
C:\Documents and Settings\joep\My Documents\GCJ\src>javac -d ../classes codejam2011\Round0\D\*.java
.\codejam2011\Round0\D\Case.java:4: duplicate class: codejam2011.Round0.C.Case
public class Case
^
codejam2011\Round0\D\EntryPoint.java:16: cannot access codejam2011.Round0.D.Case
bad class file: .\codejam2011\Round0\D\Case.java
file does not contain class codejam2011.Round0.D.Case
Please remove or make sure it appears in the correct subdirectory of the classpath.
ArrayList<Case> cases = new ArrayList<Case>();
^
2 errors
C:\Documents and Settings\joep\My Documents\GCJ\src>
क्या आपने एंट्रीपॉइंट में क्लास केस आयात किया था? – Danish
@Danish: यह आवश्यक नहीं है क्योंकि यह एक ही पैकेज में है। – BalusC
क्या आपने त्रुटि संदेशों का अध्ययन किया था? 'डुप्लिकेट क्लास: codejam2011.Round0.C.Case' सी और डी है - एक अस्पष्टता। आपको कुछ आयातों को बाहर करना होगा, या स्पष्ट रूप से निर्दिष्ट करना होगा कि कौन सा केस, codejam2011.Round0.C.Case या codejam2011.Round0.D.Case का मतलब है। –