Tôi đang cố gắng để chạy một ứng dụng Java mẫu từ promopt lệnh nhưng tôi nhận được lỗi sau:"Không thể tìm thấy những lớp chính"
Exception in thread "main" java.lang.NoClassDefFoundError: com/badlogic/gdx/helloworld/HelloWorldDesktop
Caused by: java.lang.ClassNotFoundException: com.badlogic.gdx.helloworld.HelloWorldDesktop
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.badlogic.gdx.helloworld.HelloWorldDesktop. Program will exit.
Lệnh Tôi đang sử dụng để thử và chạy ứng dụng này là:
java -cp .;gdx.jar;gdx-backend-jogl.jar com.badlogic.gdx.helloworld.HelloWorldDesktop
đâu tất cả các file có liên quan trong thư mục hiện làm việc (java, .class và các file .jar)
lệnh tôi sử dụng để xây dựng các tập tin .class là như sau (có 2 tệp .java):
javac -cp gdx.jar;gdx-backend-jogl.jar HelloWorld.java HelloWorldDesktop.java
Again này được chạy từ thư mục làm việc cùng - Nội dung của HelloWorldDesktop.java
là (nhiều hơn hoặc ít hơn):
package com.badlogic.gdx.helloworld;
public class HelloWorldDesktop {
public static void main (String[] argv) {
// Application
}
}
Tôi đang cố gắng để học Java như một nhà phát triển C#, vì vậy Tôi có một nền tảng vững chắc trong các khái niệm lập trình, toàn bộ chuỗi công cụ java hiện đang làm tôi bối rối hoàn toàn. Ngoại lệ chỉ ra rằng lớp HelloWorldDesktop
không thể được tìm thấy, nhưng theo như tôi có thể nói tôi đã có tên chính xác và tôi đã thêm đúng tệp .jar vào đường dẫn lớp và vì vậy Java sẽ có thể tải lớp học.
Tại sao nó không thể tìm thấy HelloWorldDesktop
?
Cảm ơn - cả hai sử dụng '-d .' với' javac' gây ra của tôi (nếu chưa sửa đổi) lệnh để làm việc - chạy từ một thư mục cao hơn với con đường sửa đổi cũng đã làm việc. Tôi tự hỏi tại sao nguồn mẫu được lồng sâu đến thế, nó chưa bao giờ xảy ra với tôi rằng cấu trúc thư mục của nguồn quan trọng đủ để ngăn nó thực thi. – Justin
Ah tôi đã chỉ cần twigged rằng '-d .' có trình biên dịch tạo ra một loạt các thư mục con cho bạn. – Justin