2010-05-19 48 views
15

Tôi đang cố chạy tệp .class từ dòng lệnh. Nó hoạt động khi tôi di chuyển đến thư mục được lưu trữ theo cách thủ công, nhưng khi tôi thử một cái gì đó như thế này:Làm cách nào để chạy các tệp .class trên các cửa sổ từ dòng lệnh?

java C:\Peter\Michael\Lazarus\Main 

nó nói nó không thể tìm thấy lớp chính. Có giải pháp nào khác ngoài việc tạo một tệp .jar (tôi biết rằng .jar là giải pháp tốt nhất, nhưng tại thời điểm này không phải là giải pháp tôi đang tìm kiếm)?

Trả lời

24

Các Java application launcher (aka java.exe hoặc đơn giản là java) hy vọng một tên lớp như là đối số của nó, vì vậy bạn không thể vượt qua nó một cái tên tập tin (đặc biệt là không phải một mà bao gồm một thư mục.

Bạn có thể nói với nó nơi để tìm kiếm lớp đó bằng cách sử dụng các tùy chọn -classpath (hoặc hình thức ngắn của nó -cp) tuy nhiên:

java -classpath C:\Peter\Michael\Lazarus\ Main
3

Hãy thử điều này:

java -cp C:\Peter\Michael\Lazarus Main 

Bạn cần xác định đường dẫn lớp.

7

Giả sử rằng Main.class không có một tuyên bố gói:

java -cp C:\Peter\Michael\Lazarus\ Main 

Java trông cho các lớp học trong một "classpath", có thể được thiết lập trên dòng lệnh thông qua tùy chọn -cp.

4

Tôi vừa gặp sự cố tương tự, tôi đã thử chạy java hello.class, điều này là sai.

Lệnh phải là java hello.

Không bao gồm phần mở rộng tệp. Nó đang tìm kiếm một tệp lớp và sẽ tự thêm tên.

Vì vậy, chạy 'java hello.class' sẽ yêu cầu nó tìm kiếm tệp 'hello.class.class'.

Các vấn đề liên quan