Làm cách nào để biên dịch tệp .java trên Ubuntu?


94

Làm cách nào tôi có thể biên dịch tệp .java?

Tôi cần những chương trình nào? Nếu tôi cần Java JDK, tôi cũng sẽ cần trợ giúp để cài đặt nó. Tôi rất mới với Ubuntu, vì vậy bất kỳ chương trình nào tôi cần cài đặt, tôi sẽ cần một hướng dẫn về cách cài đặt chúng.

Câu trả lời:


104

Để biên dịch tệp, mở thiết bị đầu cuối của bạn và gõ

javac filename.java

Để chạy tệp lớp đã tạo, sử dụng

java filename

Nhưng để làm điều này, bạn cần cài đặt Java JDK trong máy tính của mình. Bạn có thể cài đặt nó với các hướng dẫn trong Làm cách nào để cài đặt Java? .


Ừm ... không. javac java_test.javakết thúc thành công, nhưng không có java_testtập tin nào được tìm thấy. chỉ mộtg.class
phil294

@Blauhirn có, nhưng nếu bạn vẫn chạy, java filenamenó sẽ hoạt động, mặc dù tập tin không có ở đó.
boltup_im_coding

2
Nếu javactạo Program.classthì hãy chạy nó vớijava Program
spencer.sm

Nếu ai đó có được một java.lang.ClassNotFoundException, hãy thử java -cp . filename.
GyuHyeon Choi

28

OpenJDK hoạt động tốt nhất cho tôi. Nó đơn giản và tôi chưa bao giờ phải đối mặt với bất kỳ vấn đề với nó. Chỉ cần làm theo các bước đơn giản:

  1. Từ Terminal cài đặt mở jdk

    sudo apt-get install openjdk-7-jdk
  2. Viết chương trình java và lưu tệp dưới dạng filename.java

  3. Bây giờ để biên dịch sử dụng lệnh này từ thiết bị đầu cuối

    javac filename.java

    Nếu mọi thứ hoạt động tốt thì nên tạo một tệp "filename. Class" mới.

  4. Để chạy chương trình của bạn mà bạn vừa biên dịch, gõ lệnh bên dưới trong terminal:

    java filename

GHI CHÚ

Bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào (như gedit),

thay thế tên tệp bằng bất cứ tên nào bạn muốn

bạn cần ở cùng thư mục với "thư mục làm việc hiện tại" (có bằng cách chạy pwd) trong khi chạy lệnh từ thiết bị đầu cuối.


2
"Lỗi: Không thể tìm hoặc tải lớp chính"
Dev

12

Nếu ví dụ tập tin của bạn là my_file.java:

class MyClass
{
    public static void main(String[] args)
     {
       System.out.println("Hello World");
     }
}

Bạn muốn làm:

javac my_file.java

và sau đó

java MyClass # The name of the class, not file

Tuy nhiên, đó là một quy ước chung để cung cấp cho các lớp và các tệp cùng tên.


Tôi muốn nói rằng phiên bản gốc của bạn là tốt hơn, vì #là nhân vật bình luận trong shell.
muru

6

Bạn cần cài đặt JDK, Bộ công cụ phát triển Java. Ubuntu chứa một siêu dữ liệu mặc định-jdk , phụ thuộc vào JDK hiện đang được ưa thích. Bây giờ nó là openjdk-6-jdk.

Để biên dịch một tệp Java thành tệp. Class có thể chạy được, bạn có thể chạy

javac filename.java

và chạy nó

java file

Đây là trường hợp sử dụng đơn giản nhất và chủ yếu là nó không hoạt động vì các lớp java chủ yếu phụ thuộc vào các lớp java khác được đặt trong các thư viện.

Vì vậy, bạn có thể muốn sử dụng một số giải pháp tinh vi hơn. Hầu hết các trình soạn thảo văn bản đều hỗ trợ tô sáng cú pháp Java, ví dụ jEdit , kate hoặc vim , nhưng chúng không giải quyết được vấn đề biên dịch của bạn.

Bạn có một tùy chọn khác - bạn có thể cài đặt một Java IDE đầy đủ tính năng. Ubuntu đi kèm với cả IDE Java OpenSource chính - NetBeansEclipse .


Đối với cài đặt đầu tiên, default-jdk là bắt buộc và openjdk-X-jdk là không đủ.
JohnRos

3

Chỉ cần gõ sudo apt-get update, theo sau sudo apt-get install openjdk-7-jdkđể cài đặt nhanh cho java7, sau đó bạn có thể chơi trò chơi với java :-)

Để biết thêm tài liệu Java chính thức chi tiết, vui lòng truy cập liên kết này .


2
Tôi đề nghị mọi người bắt đầu học Java bây giờ sẽ tốt nhất là học phiên bản mới nhất, Java 7 ( sudo apt-get install openjdk-7-jdk). Ngoài ra, tốt nhất là chạy sudo apt-get updatetrước khi installgói ing từ Terminal.
Eliah Kagan

7 chỉ có mặt trong 12.04. 6 làm cho câu trả lời chung chung hơn
Thorbjørn Ravn Andersen
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.