Tôi có lớp hai java như sau:làm thế nào để chạy các lớp java với có tên gói
1.
none package class
System.out.println("App1 hello world...");
2.
has package
package java.java.package1;
System.out.println("App1 hello world...");
sau đó, tôi biên dịch và chạy chúng, kết quả như sau:
D:\javaTest>javac App1.java
D:\javaTest>javac App2.java
D:\javaTest>java App1
App1 hello world...
D:\javaTest>java java.java.package1.App2
Exception in thread "main" java.lang.NoClassDefFoundError: java/java/package1/Ap
p2
Caused by: java.lang.ClassNotFoundException: java.java.package1.App2
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: java.java.package1.App2. Program will exit.
để chạy lớp App2?
Ngoài những gì Chuck Norris đã nói: Khi bạn biên dịch và bạn ở gốc của thư mục, bạn phải sử dụng '/' thay vì '.'. Khi bạn chạy chương trình, nó được đảo ngược: sử dụng '.' thay vì'/'. –