Làm chủ Eclipse V3.4, Phần 2: JDT

Hiểu các đặc tính thường dùng trong các công cụ phát triển Java

Loạt các bài viết "Làm chủ Eclipse" (Mastering Eclipse) này dạy tất cả nhưng người mới đến với Eclipse những đặc tính và sự phức tạp về IDE của Eclipse. Học xong loạt bài này, bạn sẽ có kiến thức ngang hàng với những người sử dụng cao cấp. Trong bài viết này, bạn sẽ tìm hiểu về cách làm việc với các phần khác nhau của JDT Eclipse.

Prashant Deva, Sáng lập viên, Placid Systems

Prashant Deva là người sáng lập của Placid Systems và tác giả của cuốn sách Trình cắm thêm ANTLR Studio cho Eclipse. Ông cũng cung cấp các tư vấn liên quan đến việc phát triển các trình cắm thêm ANTLR và Eclipse. Ông đã viết một số bài báo liên quan đến các trình cắm thêm ANTLR và Eclipse và ông thường xuyên đóng góp các ý kiến và các báo cáo lỗi cho các nhóm phát triển Eclipse. Ông hiện đang bận rộn tạo ra công cụ nhà phát triển tuyệt vời tiếp theo


Cấp độ đóng góp cho developerWorks của
        tác giả

06 06 2009

Bài viết này nói về Công cụ Phát triển Java™ (Java Development Tools-JDT), minh họa một số các đặc tính thường hay sử dụng và giải thích làm thế nào để tùy chỉnh chúng. Nó cũng thảo luận về các khái niệm và các đặc tính có thể khác nhau trong môi trường phát triển tích hợp (IDE) Eclipse so với những môi trường khác hoặc các đặc tính có thể không rõ ràng đối với những người sử dụng mới đến với JDT. Xem Phần 1 nếu bạn vừa mới bắt đầu với Eclipse V3.4.

Vậy JDT là gì?

Eclipse đã trở nên đồng nghĩa với phát triển bằng Java. Tuy nhiên, đối với nhiều người mới đến với Eclipse, các mối quan hệ giữa công nghệ Eclipse và Java có thể không hoàn toàn rõ ràng.

Eclipse là một nền tảng cơ bản nhất đã được viết bằng ngôn ngữ lập trình Java. Các trình cắm thêm (Plug-in), chẳng hạn như Mylar và Findbugs, được viết ở bên trên của IDE này cung cấp các chức năng của nó và ngôn ngữ Java cho phép Eclipse thực hiện chức năng giống như một IDE Java. Có lẽ là do JDT theo mặc định được bao gồm trong các bản Eclipse tải về, không hẳn rõ ràng ngay lập tức, khi các nhà phát triển nói rằng họ sử dụng Eclipse để phát triển Java, những gì mà họ thực sự muốn nói là họ sử dụng JDT.


Giải phẫu một dự án Java

Hình 1. Một dự án Java điển hình khi được nhìn từ Package Explorer
Một dự án Java điển hình khi được nhìn từ Package Explorer

Mặc dù Eclipse chứa một vài khung nhìn trong đó để duyệt các tệp tin, chẳng hạn như khung nhìn Navigator (trình dẫn hướng) và khung nhìn Package Explorer (trình thám hiểm các gói), bạn sử dụng khung nhìn Package Explorer để dẫn hướng trong các dự án Java. Khung nhìn này hiển thị thư mục src cho mỗi dự án Java và cho phép bạn dẫn hướng trong các gói ở mỗi thư mục src. Bạn có thể mở rộng các tệp tin Java riêng lẻ để xem các phác thảo của chúng. Bạn cũng có thể mở rộng mục Referenced Libraries của từng dự án để xem các thư viện cho đường dẫn xây dựng của dự án.

Một dự án Java bao gồm các phần tử sau đây:

Thư mục src
Thư mục này chứa mã nguồn thực tại của ứng dụng của bạn. Theo mặc định, khi bạn tạo một dự án Java mới, Eclipse tạo ra một thư mục src trong đó để giữ tất cả các mã nguồn của bạn, nhưng bạn có thể thêm bất cứ thư mục nào như là thư mục nguồn của bạn. Ví dụ, nhiều người muốn có một thư mục các thử nghiệm (tests) trong đó họ tạo ra tất cả các tình huống thử nghiệm của họ. Để thêm một thư mục tests vào dự án của bạn:
  1. Nhấn chuột phải vào dự án, sau đó nhấn vào New > Folder.
  2. Gõ tên cho thư mục (trong trường hợp này là tests) và nhấn OK.
  3. Nhấn chuột phải vào thư mục tests, sau đó nhấn vào Build Path > Use as Source Folder.
Thư mục kết quả (output folder)
Thư mục này chứa các tệp .class đã tạo ra từ mã nguồn của bạn. Theo mặc định, Eclipse tạo ra một thư mục bin để giữ các tệp tin này.
Các thư viện được tham chiếu (Referenced Libraries)
Đây là các thư viện hoặc các dự án Java khác trong vùng làm việc (workspace) mà dự án hiện tại của bạn phụ thuộc vào chúng. Chúng được thêm vào đường dẫn xây dựng (build path) và CLASSPATH khi Eclipse đang xây dựng hoặc chạy dự án Java của bạn.

Thiết lập đường dẫn xây dựng

Nhiều khi, các dự án Java sử dụng các lớp nằm trong một số kho lưu trữ Java khác (JAR) trên máy tính của bạn hoặc trong một số dự án khác trong cùng một vùng làm việc. Để sử dụng các lớp này, bạn cần phải thêm vào các dự án/các JAR tương ứng vào đường dẫn xây dựng của dự án hiện tại của bạn. Nếu không, Eclipse hiển thị lỗi biên dịch trong dự án của bạn. Để sửa đổi một đường dẫn xây dựng của dự án:

  1. Nhấn chuột phải vào dự án trong Package Explorer và nhấn vào Settings.
  2. Trong cửa sổ kết quả, chọn Java Build Path.
  3. Để thêm các dự án trong cùng vùng làm việc vào đường dẫn xây dựng của bạn, hãy nhấn vào thẻ Projects, sau đó nhấn vào Add.
  4. Chọn các dự án mà bạn muốn có trên đường dẫn xây dựng, sau đó nhấn OK.

Để thêm các JAR vào dự án của bạn:

  1. Nhấn vào thẻ Libraries.
    Hình 2. Sửa đổi đường dẫn xây dựng
    Sửa đổi đường dẫn xây dựng
  2. Nhấn vào Add external JARs, sau đó chọn các JAR bạn muốn thêm vào.

Tùy chỉnh các thông số cài đặt trình biên dịch

Eclipse cho phép bạn tuỳ chỉnh các thông số cài đặt của trình biên dịch Java gắn liền của nó. Eclipse sử dụng trình biên dịch này để xây dựng dự án của bạn. Để tùy chỉnh các thông số cài đặt trình biên dịch cho dự án của bạn:

  1. Nhấn chuột phải vào dự án trong Package Explorer và nhấn vào Settings.
  2. Trong cửa sổ kết quả, chọn Java Compiler.
    Hình 3. Tùy chỉnh các thông số cài đặt trình biên dịch Java
    Tùy chỉnh các thông số cài đặt trình biên dịch Java
  3. Trên trang này và phần còn lại của các trang tùy chọn ưu tiên cho trình biên dịch Java:
    • Chọn Enable project specific settings để các thay đổi mà bạn thực hiện với các thông số cài đặt trình biên dịch chỉ áp dụng cho dự án này mà thôi.
    • Nhấn vào liên kết Configure Workspace Settings để làm cho các thay đổi của bạn áp dụng cho tất cả các dự án trong vùng làm việc.
  4. Từ trình đơn Compiler compliance level, chọn phiên bản của Java mà bạn muốn dùng để biên dịch mã nguồn của bạn. Ví dụ, nếu bạn đang sử dụng các đặc tính Java V1.5, bạn nên chọn tuỳ chọn đó.
  5. Mở rộng cây của trình biên dịch Java (Java Compiler) và sau đó chọn Errors/Warnings. Tại đây, bạn có thể thiết lập Eclipse để báo hiệu các lỗi tiềm năng trong mã của bạn. Nếu bạn tìm thấy một mục quá chặt chẽ, bạn có thể báo cho Eclipse bỏ qua nó (ví dụ, khối rỗng không có tư liệu -Undocumented Empty Block) hoặc bạn có thể thiết lập các mục để báo hiệu một cảnh báo hoặc lỗi tùy theo bạn nghĩ vấn đề nghiêm trọng đến mức nào.
    Hình 4. Tùy biến các lỗi và các cảnh báo của trình biên dịch Java
    Tùy biến các lỗi và các cảnh báo của trình biên dịch JavaLưu ý: Theo khuyến cáo, bạn nên thiết lập các mục Potential programming ProblemsDeprecated and Restricted API ít nhất cho mức Warning. Bạn có thể muốn bỏ qua mục Serializable class without serialVersionUID trong Potential programming Problems trừ khi bạn có kế hoạch để đồng bộ hóa nhiều đối tượng của bạn.
  6. Chọn Task Tags trong cây Java Compiler. Các thẻ tác vụ cho phép bạn để lại các ghi chú cho mình hoặc cho các nhà phát triển khác nhận xét về mã. Ví dụ, bạn có thể viết một dòng như sau: //TODO this is a bug. details at http://bugs.mycompany.com/3434/ Bạn có thể thấy chính các ghi chú này trong khung nhìn Tasks. Nhấn chuột vào bất kỳ ghi chú nào trong khung nhìn để nhảy tới nó trong tệp mã nguồn. Theo mặc định, Eclipse cung cấp ba loại thẻ tác vụ: FIXME, TODO, và XXX. Bạn có thể thêm các thẻ của riêng bạn, chẳng hạn như BUG, chỉ đơn giản bằng cách chọn Task Tags trong cây Java Compiler (xem Hình 5), nhấn chuột vào New và gõ tên của thẻ vào trong cửa sổ xuất hiện. Bạn thậm chí có thể thiết lập một mức ưu tiên cho thẻ, sẽ rất có ích vì bạn có thể sắp xếp các ghi chú theo mức ưu tiên trong khung nhìn Tasks.
Hình 5. Tùy chỉnh các thẻ tác vụ
Tùy chỉnh các thẻ tác vụ

Cấu trúc lại

Cấu trúc lại (Refactoring) cho phép bạn dễ dàng thực hiện các thay đổi mã của bạn ở một chỗ và các thay đổi đó sẽ hiển thị ở cả các nơi khác mà mã xuất hiện. Nếu điều này có vẻ khó hiểu, hãy nhớ chắc như sau: Mục này sẽ xem xét xem phần có lẽ là thú vị nhất của Eclipse. Bởi vì Eclipse chứa nhiều khả năng cấu trúc lại và việc mô tả tất cả chúng sẽ cần đến một bài viết riêng, bài viết này tập trung vào một số vấn đề được sử dụng thường xuyên nhất.

Cấu trúc lại bằng đổi tên

Cấu trúc lại bằng đổi tên (Rename refactoring) có lẽ là biện pháp thường được sử dụng nhất khi cấu trúc lại. Bạn có thể sử dụng nó để đổi tên bất cứ phương thức, biến, hoặc lớp nào trong dự án của bạn. Để thử nó:

  1. Chọn bất kỳ biến nào trong trình soạn thảo.
  2. Nhấn vào Refactor > Rename từ trình đơn ở phía trên cùng của GUI Eclipse, (được hiển thị trong Hình 6). Trình soạn thảo Java đặt các hộp xung quanh tên biến và tất cả những chỗ mà biến được sử dụng.
    Hình 6. Trình đơn Cấu trúc lại cung cấp nhiều khả năng cấu trúc lại
    Trình đơn Cấu trúc lại cung cấp nhiều khả năng cấu trúc lại
  3. Gõ tên mới cho biến và sau đó ấn phím Enter. Ở mọi chỗ mà biến được sử dụng sẽ tự động được thay đổi thành tên mới.

Tương tự, bạn có thể thay đổi các tên của các lớp và các phương thức. Ở mọi chỗ mà chúng đang được sử dụng sẽ được thay đổi thành các tên mới. Bằng cách này, bạn không phải tìm thủ công mọi thể hiện ở đó phương thức được gọi và tự sửa nó, điều này tiết kiệm cho bạn rất nhiều thời gian và ngăn ngừa các lỗi tiềm năng. Bạn có thể dễ dàng thay đổi tên của bất cứ phương thức, các biến và các lớp nào trong các dự án Java của bạn mà không sợ làm cho nó có một ý nghĩ thứ hai.

Cấu trúc lại bằng di chuyển

Kiểu cấu trúc lại này đặc biệt có ích trong việc di chuyển các lớp từ một gói này đến gói khác. Rất có thể bạn sẽ sử dụng nó khá thường xuyên — chỉ đứng sau khả năng cấu trúc lại bằng đổi tên. Để thực hiện nó:

  1. Nhấn chuột phải vào bất kỳ lớp nào trong Package Explorer và sau đó nhấn vào Refactor > Move. Một cửa sổ mở ra, hiển thị các gói trong dự án hiện tại và bất kỳ dự án khác nào mà dự án này phụ thuộc vào.
  2. Chọn gói mà bạn muốn di chuyển lớp tới nó, sau đó nhấn OK. Lớp được chuyển đến gói mới một cách vật lý, và tất cả các tham chiếu tới nó trong các mã lệnh — chẳng hạn như các câu lệnh nhập khẩu — được thay đổi theo để tham chiếu tới vị trí mới của nó.

Nếu bạn muốn bỏ qua các bước này, bạn có thể kéo và thả một lớp từ một gói tới gói khác. Việc cấu trúc lại bằng di chuyển sẽ tự động diễn ra.


Xây dựng một dự án Java

Eclipse không có nút Compile. Điều này làm cho những người mới đến lúng túng nhiều, nhưng đây lại là một đặc tính khác tuyệt vời của Eclipse. Bạn không bao giờ cần phải biên dịch một dự án Java vì dự án luôn luôn được xây dựng. Bất cứ khi nào bạn ghi lưu một tệp tin, Eclipse sẽ biên dịch nó và tất cả các tệp tin khác bị nó tác động trong nền sau, và bạn không bao giờ để ý thấy việc này. Hành vi này làm giảm lượng thời gian cần thiết để khởi chạy dự án của bạn do bạn không bao giờ phải đợi để biên dịch lại nó.


Chạy một dự án

Cách đơn giản nhất để chạy một dự án Java là mở tệp tin có chứa phương thức main, sau đó nhấn vào Run trên thanh công cụ. Làm như vậy sẽ tạo ra một cấu hình khởi chạy. Lần sau khi bạn muốn chạy dự án, hãy nhấn vào mũi tên bên cạnh Run, như được hiển thị trong Hình 7 và chọn cấu hình có tên lớp chứa phương thức main của bạn.

Hình 7. Chạy một dự án
Chạy một dự án

Gỡ rối một dự án

Bạn nên bắt đầu gỡ rối bằng cách đặt các điểm ngắt trong mã của bạn. Bạn có thể làm như vậy bằng cách nhấn vào cột xa nhất bên trái trong trình soạn thảo, kề bên dòng mà trên đó bạn muốn đặt điểm ngắt. Khởi động trong chế độ Gỡ rối (Debug) cũng giống như khi chạy dự án của bạn, chỉ khác là bạn nhấn vào Debug trên thanh công cụ, thay vì Run.

Hình 8. Gỡ rối một dự án
Gỡ rối một dự án

Khi chạm đến một điểm ngắt, cửa sổ Eclipse nổi lên tiền cảnh (foreground) và tự động chuyển đến phối cảnh Debug có chứa các khung nhìn để giúp bạn gỡ rối chương trình. Đây là một mô tả ngắn gọn về một số khung nhìn thường hay được sử dụng:

Khung nhìn Debug
Khung nhìn này kiểm soát chương trình hiện đang chạy, cho phép bạn xem ngăn xếp và chạy chương trình từng bước một. Bạn thậm chí có thể sử dụng khung nhìn này để tạm dừng hoặc dừng chương trình.
Khung nhìn các biến (Variables view)
Khung nhìn này hiển thị các biến địa phương trong phương thức hiện hành. Các giá trị thay đổi khi bạn thực hiện chương trình từng bước.
Khung nhìn các điểm ngắt (Breakpoints view)
Khung nhìn này liệt kê các điểm ngắt hiện tại. Bạn có thể bật hoặc tắt các điểm ngắt bằng cách lựa chọn hay xóa chúng trong danh sách.
Khung nhìn các biểu thức (Expressions view)
Khung nhìn này cho phép bạn gõ vào bất kỳ biểu thức Java tùy ý nào và xem giá trị của nó trong bối cảnh của điểm hiện tại trong việc thực hiện chương trình. Để thêm các biểu thức Java cho khung nhìn này:
  1. Nhấn chuột phải vào bên trong khung nhìn và sau đó nhấn vào Add expression.
  2. Trong cửa sổ vừa xuất hiện, gõ vào biểu thức của bạn và nhấn OK. Biểu thức được thêm vào khung nhìn các biểu thức và giá trị của nó được cập nhật trong khi bạn đi từng bước qua mã lệnh.Ghi nhớ rằng việc gõ vào một biểu thức để thay đổi giá trị của bất kỳ biến nào có thể có một ảnh hưởng không lường trước được trên mã của bạn.

Kết luận

Bài viết này đã xem xét JDT Eclipse và các đặc tính mà nó đưa ra. Bạn bây giờ biết làm thế nào để tùy chỉnh các phần của JDT theo ý muốn của bạn và sẽ hiểu được một số điều có thể làm cho người mới đến với JDT lúng túng.

Phần 3 của loạt bài "Mastering Eclipse" này tập trung vào phần mạnh nhất của JDT — là trình soạn thảo của nó — và kiểm tra khả năng hùng mạnh của nó.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Nguồn mở
ArticleID=395147
ArticleTitle=Làm chủ Eclipse V3.4, Phần 2: JDT
publish-date=06062009