2010-06-21 5 views
10

मुझे लगता है कि इस तरह दिखता है एक फ़ाइल "Hello.java" कहा जाता है बनाया: मैं javac Hello.java, तो java Hello भाग गयायदि मैं पैकेज के अंदर हूं तो मैं अपना जावा हैलो वर्ल्ड प्रोग्राम क्यों नहीं चला सकता?

public class Hello { 
     public static void main(String[] args) { 
       System.out.println("Hello, world!"); 
     } 
} 

, और सब कुछ उम्मीद के रूप में काम किया।

मैंने फिर फ़ाइल के शीर्ष पर package testpackage; लाइन जोड़ा, और इसे /home/matthew/Desktop/hellotest/testpackage निर्देशिका में डाल दिया। मैंने अपने क्लासस्पैट में .:/home/matthew/Desktop/hellotest लगाया, और संकलित और पहले जैसा ही चलाया। लेकिन अब, मुझे यह त्रुटि मिलती है:

[email protected]:~/Desktop/hellotest/testpackage$ java Hello 
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: testpackage/Hello) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334) 
Could not find the main class: Hello. Program will exit. 

यह अपने आप पर क्यों काम करता है, लेकिन पैकेज में नहीं?

+3

जावा टेस्टपैकेज। हेल्लो –

उत्तर

16

अब जब कि यह testpackage में है, इसका नाम वास्तव में testpackage.Hello है। तो उस पर एक निर्देशिका जाओ और उस पर java करें।

13

जाओ एक निर्देशिका, और चलाएँ:

java testpackage.Hello 
2

java testpackage.Hello आज़माएं।

क्योंकि यह आपके क्लासपाथ में है, इसलिए आप इसे किसी भी कामकाजी निर्देशिका से चलाने में सक्षम होना चाहिए, लेकिन इसे इसके पूर्ण नाम से देखें।

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