Không thể chạy chương trình java với thiết bị đầu cuối trong Ubuntu 18.04.2 [đã đóng]


-2

Tôi không thể chạy bất kỳ chương trình java nào với thiết bị đầu cuối:

Ảnh chụp màn hình lỗi

openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build
10.0.2+13-Ubuntu-1ubuntu0.18.04.2) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)

Có ý kiến ​​gì không?


Và đâu là lệnh đã đưa ra lỗi này?
George Udosen

Trong ảnh chụp màn hình, tôi sử dụng lệnh "java" để chạy javafile.
Ấn Độ

2
Biên dịch trước khi chạy và bạn đang sử dụng IDE vì vậy hãy sử dụng nó để biên dịch và chạy nó. Hình ảnh của loại này không nên sao chép và dán!
George Udosen

Điều này không có gì để làm với Ubutnu. Tìm hiểu để sử dụng javac và java. Hoặc chỉ sử dụng IDE để chạy.
Gayan Weerakutti

Tôi đang sử dụng Intellij, nhưng tôi cần tìm hiểu một số lệnh thiết bị đầu cuối, người có thể giúp tôi trong tương lai :) Tôi đã đọc về các lệnh java và javac, nhưng tôi hoàn toàn quên mất các gói đó không phải là thư mục :)
Ấn Độ

Câu trả lời:


1

Để biên dịch mã nguồn Java (thường có tệp kết thúc bằng .java), bạn cần phải ban hành Trình biên dịch Java, hay còn gọi là javac. Điều này biên dịch nguồn thành một tệp nhị phân mã byte kết thúc bằng .class.

Khi chạy nhị phân mã byte, bạn tham khảo tên lớp đầy đủ , không phải tệp. Java sau đó sẽ tìm .classtệp thích hợp liên quan đến vị trí hiện tại , tải lớp thích hợp và gọi hàm main(). Điều này cho phép có nhiều chương trình có thể gọi được (thậm chí lồng nhau) đến một chương trình từ một tệp nhị phân được biên dịch.

Hơn nữa, các lớp Java có thể tồn tại trong các gói được tổ chức theo thư mục và được khai báo ở đầu tệp, vd

package Arrays;

Vì vậy, một khi bạn đã biên dịch chương trình của mình, bạn cần nằm trong thư mục phía trên thư mục Mảng, rồi xóa .javalệnh java và đặt tiền tố tên lớp bằng 'Mảng.'. ví dụ

$ cd /path/to/src
$ java Arrays.Speeds

Tôi đã thử điều này, nhưng lỗi này cũng giống như imgur.com/a/sTjDPeC
Ấn Độ,

Tôi đã bỏ lỡ rằng ứng dụng của bạn là trong một package Arrays. Tôi đã cập nhật câu trả lời của mình theo cách chính xác để gọi các lớp đóng gói.
tudor

Hiệu quả tương tự như câu hỏi này: stackoverflow.com/questions/19433366/
trộm

Đó là công việc, cảm ơn. Tôi đã quên rằng Mảng là gói và tôi sử dụng nó như một thư mục ...
Ấn Độ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.