PDF:

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
Prashant Deva
Sáng lập viên
Placid Systems
06 06 2009
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.
Xem thêm bài trong loạt bài này
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.
© Copyright IBM Corporation 2009
Làm chủ Eclipse V3.4, Phần 2: JDT
Nhẫn hiệu đăng ký
Trang 1 của 12
developerWorks®
ibm.com/developerWorks/vn/
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
Khung nhìn 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.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 2 của 12
ibm.com/developerWorks/vn/
developerWorks®
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
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:
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 3 của 12
developerWorks®
ibm.com/developerWorks/vn/
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
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.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 4 của 12
ibm.com/developerWorks/vn/
developerWorks®
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
ý: Theo khuyến
cáo, bạn nên thiết lập các mục Potential programming Problems và Deprecated 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.
Lưu
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 5 của 12
developerWorks®
ibm.com/developerWorks/vn/
Hình 5. 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.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 6 của 12
ibm.com/developerWorks/vn/
developerWorks®
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
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.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 7 của 12
developerWorks®
ibm.com/developerWorks/vn/
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
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
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.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 8 của 12
ibm.com/developerWorks/vn/
developerWorks®
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ó.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 9 của 12
developerWorks®
ibm.com/developerWorks/vn/
Tài nguyên
Học tập
• Đọc "Mastering Eclipse V3.4, Part 1: The Eclipse workbench" nếu bạn là người mới đến với
Eclipse.
• Tìm thêm thông tin trong Workbench User Guide in Eclipse Help, một tài nguyên của Eclipse
Foundation.
• Xem Eclipse IDE Pocket Guide.
• Truy nhập trang chính thức Những câu hỏi thường gặp của Eclipse.
• Đọc Eclipse for Dummies, của David Carlson.
• Hãy chắc chắn đọc Eclipse Distilled, của David Carlson.
• Xem "Danh sách khuyến khích đọc Eclipse."
• Duyệt qua tất cả nội dung Eclipse trên developerWorks.
• Bạn mới đến với Eclipse ? Đọc bài viết trong developerWorks "Get started with Eclipse
Platform" để tìm hiểu nguồn gốc và kiến trúc của nó và làm thế nào để mở rộng Eclipse bằng
các trình cắm thêm.
• Mở rộng các kỹ năng Eclipse của bạn bằng cách xem Các tài nguyên dự án Eclipse của
developerWorks IBM.
• Để nghe các cuộc phỏng vấn và các cuộc thảo luận thú vị cho các nhà phát triển phần mềm,
hãy xem developerWorks podcasts.
• Theo sát Các sự kiện kỹ thuật và webcasts của developerWorks.
• Theo dõi và tìm hiểu về các công nghệ và các chức năng sản phẩm IBM và mã nguồn mở với
Các trình diễn mẫu theo yêu cầu miễn phí của developerWorks.
• Hãy ghi tên dự các hội nghị sắp tới, các cuộc triển lãm thương mại, webcasts và Các sự kiện
khác trên khắp thế giới đang được các nhà phát triển mã nguồn mở của IBM quan tâm.
• Hãy truy cập vào Vùng mã nguồn mở của developerWorks để có được rất nhiều các thông
tin hướng dẫn, các công cụ và các cập nhật dự án, giúp bạn phát triển với các công nghệ mã
nguồn mở và sử dụng chúng với các sản phẩm của IBM.
Lấy sản phẩm và công nghệ
• Xem Eclipse technology downloads tại IBM alphaWorks.
• Tải về Eclipse Platform và các dự án khác từ Eclipse Foundation.
• Tải về các phiên bản đánh giá sản phẩm của IBM và nhận các công cụ thực hành phát triển
ứng dụng của bạn và các sản phẩm phần mềm trung gian từ DB2®, Lotus®, Rational®, Tivoli®
và WebSphere®.
• Đổi mới dự án phát triển phần mềm mã nguồn mở tiếp theo của bạn bằng phần mềm thử
nghiệm của IBM, có sẵn để tải về hoặc trên đĩa DVD.
Thảo luận
• Các nhóm tin chung về nền tảng Eclipse sẽ là điểm dừng đầu tiên của bạn để thảo luận các
vấn đề về Eclipse. (Việc lựa chọn này sẽ khởi chạy ứng dụng đọc tin tức Usenet mặc định của
bạn và mở eclipse.platform).
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 10 của 12
ibm.com/developerWorks/vn/
developerWorks®
• Các nhóm tin chung về Eclipse có nhiều tài nguyên cho những người quan tâm đến việc sử
dụng và mở rộng Eclipse.
• Tham gia vào các blog của DeveloperWorks và bắt đầu tham gia vào cộng đồng
developerWorks.
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 11 của 12
developerWorks®
ibm.com/developerWorks/vn/
Đôi nét về tác giả
Prashant Deva
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
© Copyright IBM Corporation 2009
(www.ibm.com/legal/copytrade.shtml)
Nhẫn hiệu đăng ký
(www.ibm.com/developerworks/vn/ibm/trademarks/)
Làm chủ Eclipse V3.4, Phần 2: JDT
Trang 12 của 12