Tôi tiếp tục gặp lỗi khi tôi tạo một phần của gói và cố gắng chạy nó từ cmd.Cách chạy tệp .class là một phần của gói từ cmd?
Dưới đây là đoạn code mà làm việc sau khi sử dụng javac và sau đó java:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
và sau đó là mã mà không làm việc:
package com;
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
đem lại cho tôi lỗi này sau khi cố gắng chạy "java HelloWorld ":
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong nam
e: com/HelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
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)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Đây là những gì tôi đã cố gắng thực hiện cho đến thời điểm này:
java -cp . HelloWorld
java -cp . com.HelloWorld
java -cp . com/HelloWorld
java HelloWorld
java com.HelloWorld
java com/HelloWorld
Hãy nhớ rằng javac trả về không có lỗi và chỉ cần xóa "gói com;" giải quyết vấn đề. Đôi khi trong các tình huống khác, tôi nhận được một lỗi nói rằng các tập tin lớp chính không thể được tìm thấy hoặc một cái gì đó dọc theo những dòng.
Tôi đang làm gì sai?
'HelloWord' ở đâu? Nó có nằm trong thư mục 'com /' không? – MadProgrammer
Tôi nghĩ bạn không có thư mục "com". –
Nó nằm trong một thư mục được tạo bởi tôi C: \ java trong đó có vị trí HelloWorld.java và HelloWorld.class –