NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
07/05/2022
Lượt xem

Hướng dẫn 5 cách sửa lỗi Error: Could not find or load main class

07/05/2022
10 phút đọc
Lượt xem

Đánh giá

5/5 - (56 bình chọn)

Khi sử dụng ngôn ngữ Java để lập trình, không ít người mệt mỏi với lỗi Error: Could not find or load main class khiến công việc bị ngưng lại một thời gian dài. Đặc biệt, lỗi này càng trở nên nghiêm trọng với những người mới, chưa thực sự quen với công việc và cách giải quyết sự cố. Trong bài viết này, Vietnix sẽ giúp bạn tìm hiểu cách khắc phục lỗi này cơ bản nhất.

Nguyên nhân gây ra lỗi Error: Could not find or load main class

Lỗi Error: Could not find or load main class xảy ra khi sử dụng lệnh Java trong dấu nhắc lệnh để khởi chạy chương trình Java. Nghĩa là công cụ Java tìm nạp lớp để thực thi không thành công, các Java command không thể locate lớp tại đúng thư mục như mong muốn.

Đây là một lỗi rất thường gặp trong quá trình làm việc với Java
Đây là một lỗi rất thường gặp trong quá trình làm việc với Java

Trong một số trường hợp, người dùng sẽ phải thêm correct file path, đồng thời trỏ thiết bị đầu cuối Java đến một vị trí chính xác. Vì bạn đang thực hiện lệnh từ đầu, cuối dòng lệnh và máy tính không tìm được lớp ở đâu, không biết nó nằm ở đâu. Đây không phải vấn đề đối với các IDE được nhắm mục tiêu, vì bản chất IDE giữ một con trỏ tới thư mục làm việc hiện tại.

Dưới đây là 3 lý do chính dẫn tới tình trạng này:

  • Đặt tên sai, gọi tên sau.
  • Package bị sai.
  • Classpath không chính xác/ đường dẫn không chính xác.

Cách sửa lỗi Error: Could not find or load main class

Dưới đây, hãy cùng Vietnix tìm hiểu về cách sửa lỗi này trong những trường hợp thường gặp nhất nhé.

1. Lỗi “Error: Could not find or load main class” do đặt tên sai và gọi sai tên

Ví dụ giúp bạn hiểu hơn về lỗi đặt sai, gọi sai tên

Đây là một trong những lỗi phổ biến, rất nhiều người gặp phải khi lập trình. Vì ngôn ngữ Java nhận biết chữ in hoa, chữ in thường.

Sau khi bạn có được file .class, người dùng sẽ chạy chương trình bằng lệnh sau: java <.class tên file>

Sau khi áp dụng vào chương trình mẫu, chúng ta có kết quả sau:

$ java helloworld
Error: Cloud not find or load main class helloworld

Cách khắc phục lỗi

Bạn có thể thấy, dòng lỗi “Error: Could not find or load main class helloworld” hiện lên vì những lý do:

  • Tệp .class có tên là HelloWord chứ không phải helloword. Bạn phải gõ chính xác tên của nó HelloWorld. Chỉ khi đó chương trình của bạn mới có thể sử dụng được.
  • Tương tự, thay vì gọi HelloWorld và bạn gọi HeloWorld – thiếu chữ I, hay HelloWord – thiếu chứ L, chương trình cũng sẽ gặp lỗi tương tự.

Đôi khi, bạn sẽ sử dụng lệnh như sau để khởi chạy chương trình:

$ java HelloWorld.class
Error: Cloud not find or load main class HelloWorld.class

Lúc này, bạn đã gọi luôn cả phần mở rộng .class của HelloWorld. Tuy nhiên, điều này thực sự là không cần thiết và dễ dàng gây ra lỗi Error: Could not find or load main class.

2. Cách sửa lỗi “Error: Could not find or load main class” do đặt và gọi sai tên

Với những thông tin trên, bạn có thể thấy cách sửa lỗi này rất đơn giản. Việc bạn cần làm chỉ là kiểm tra chính xác tên gọi của .class đã tạo ra ở trên. Sau đó, trình biên dịch cũng tự động tạo ra .class có cùng tên với class bạn đã đặt trong chương trình.

Bạn thử lại với đúng cách viết hoa, đúng chính tả và không sử dụng thêm đuôi mở rộng. Chương trình của bạn sẽ không báo lỗi nữa.

$ java HelloWorld
Hello world!

3. Tìm hiểu về lỗi Error: Could not find or load main class do Package bị sai

Tìm hiểu ví dụ về lỗi này

Trong quá trình sử dụng Java, bạn có thể thực hiện tạo ra nhiều class tương tự nhau, sau đó gói gọn chúng trong một package. Và chúng ta sẽ chuyển class HelloWorld vào bên trong gói com.vietnix tương tự như hình ảnh sau:

packae com.vietnix:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}

Lúc này, bạn sẽ cần thực hiện biên dịch sau đó tiến hành chạy chương trình HelloWorld và kết quả trả lại của Java như sau:

$ java Helloworld
Error: Cloud not find or load main class Helloworld

Tiến hành sửa lỗi “Error: Could not find or load main class” trong trường hợp Package bị sai

Khi quá trình nhập của bạn không sai và viết đúng chính tả nhưng vẫn không thể chạy được. Nguyên nhân ở đây là vì sao? Lý do đơn giản nhất để trả lời là sau:

Khi bạn đưa class vào trong package, bạn sẽ phải gọi đầy đủ tên của chúng để mang lại kết quả. Vì vậy, trong trường hợp đang nói đến bạn sẽ phải gọi tên của package là: com.vietnix.HelloWorld.

Với cách làm đơn giản này, bạn sẽ tạo ra được một thư mục cây với dạng và tên gọi như sau: “Error: Could not find or load main class”. Bạn cần phải đảm bảo rằng các tệp trong thư mục cây này tồn tại và bạn có thể thực hiện được việc chạy chương trình một cách hiệu quả.

$ java com.vietnix.HelloWorld
Hello world!

4. Tìm hiểu về lỗi do Classpath không chính xác/ đường dẫn không chính xác

Đây cũng là một lỗi khá thường gặp khi làm việc. Và dưới đây, Vietnix sẽ giúp bạn tìm hiểu cách khắc phục lỗi nhanh chóng và hiệu quả nhất.

Classpath là gì?

Classpath là một tham số quan trọng trong máy ảo Java, các trình biên dịch Java. Nó được dùng để chỉ vị trí của các calss và các package do người dùng thực hiện.

Hiểu đơn giản hơn, bạn có thể sử dụng Classpath để nói và hướng dẫn cho JVM hiểu được. Trình biên dịch Java biết tệp .class đang ở đâu trong hệ thống.

Hướng dẫn cách sửa lỗi chi tiết

Bạn có thể dễ dàng làm được việc đó bằng cách sử dụng lệnh sau:

java -classpath /myprograms/comiled HelloWorld

Lúc này, Java sẽ tự động thực hiện chương trình chạy đi tìm theo đường dẫn phù hợp để đến class HelloWorld bạn đang cần.

5. Sửa lỗi “Error: Could not find or load main class” do Classpath không chính xác

Đối với lỗi này, cách sửa cũng khá đơn giản như với trường hợp lỗi xuất hiện do đặt sai và gọi sai tên. Bạn chỉ cần tiến hành kiểm tra lại chính xác tên của từng thư mục, tệp trong đường dẫn để xem nó có tồn tại trong đường dẫn đó hay không.

Ví dụ, bạn muốn chạy com.vietnix.HelloWorld ở một thư mục khác, một tệp khác, bạn sẽ phải tìm hiểu xem cách làm nó như thế nào.

May mắn thay, nhà phát triển ngôn ngữ lập trình Java cũng đang nỗ lực từng ngày để tạo ra điều kiện thuận lợi trong quá trình lập trình, phát triển thư mục cho người dùng. Bạn chỉ cần sử dụng dấu chấm ‘.’ thay cho tên thư mục đó là sẽ đạt được điều mình mong muốn.

Thay vì sử dụng: java -classpath <tệp mẹ>/<tệp con>/ com.vietnix.HelloWorld, bạn làm bằng cách thay dấu chấm vào và được kết quả sau: java -classpath ././ com.vietnix.HelloWorld.

Vấn đề của bạn sẽ được giải quyết một cách đơn giản với cách thức trên, ít gặp lỗi hơn. Điều này giúp ích rất nhiều cho quá trình làm việc với Java đấy.

>> Xem thêm: Sửa lỗi hệ thống: java.lang.exception: xác thực chữ ký không thành công

Câu hỏi thường gặp

Hello World là gì?

Đây chỉ đơn giản là một dòng chữ Hello World và hầu hết các lập trình viên đang làm việc với bất kỳ ngôn ngữ nào đều sử dụng qua. Chương trình Hello World được phát triển lần đầu tiên bởi Brian Kernighan xuất bản trong cuốn sách The C Programming Language. Được biết đến từ năm 1978, nó vẫn được sử dụng rộng rãi đến ngày hôm nay.

Lỗi Error: Could not find or load main class có nghiêm trọng không?

Thực chất, lỗi này không quá nghiêm trọng trong lập trình với ngôn ngữ Java. Tuy nhiên, nó cần phải được khắc phục nhanh chóng để đảm bảo công việc thuận lợi. Nếu không, lập trình viên sẽ không thể chạy hay sử dụng chương trình của mình được.

Để triển khai các ứng dụng Java hiệu quả và tránh gặp lỗi, bạn có thể tham khảo sử dụng dịch vụ hosting/VPS của Vietnix.

Vietnix hiện đang cung cấp nhiều gói hosting/VPS tốc độ cao giúp bạn triển khai và chạy các ứng dụng Java ổn định, mượt mà. Không chỉ vậy, đội ngũ kỹ thuật giàu kinh nghiệm của Vietnix luôn túc trực 247, sẵn sàng hỗ trợ bạn trong trường hợp gặp lỗi hay có vấn đề cần giúp đỡ.

Lời kết

Như vậy, bạn đã hiểu hơn về lỗi Error: Could not find or load main class và cách để khắc phục nó. Hy vọng bài viết này của Vietnix hữu ích đối với bạn. Nếu còn bất kỳ điều gì băn khoăn, hãy liên hệ ngay với Vietnix để nhận được sự hỗ trợ từ các chuyên viên hàng đầu nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG