2012-08-29 13 views
5

Cơ sở của ứng dụng doanh nghiệp của chúng tôi là OSGI và chúng tôi có một số dự án Java là các gói OSGI hợp lý. Chúng tôi sử dụng Maven để biên dịch ứng dụng bằng cách sử dụng plugin Maven Bundle. Nhưng quá trình này tốn thời gian và không thể gỡ lỗi ứng dụng. Chúng tôi cũng sử dụng các plugin Runner và Pax (: provison) để chạy ứng dụng. Nếu chúng ta có thể dựa vào chức năng Tự động xây dựng của Eclipse và cũng gỡ lỗi ứng dụng, nó sẽ làm cho cuộc sống của chúng ta dễ dàng hơn nhiều. Có cách nào để cấu hình Eclipse để có thể biên dịch (và có thể chạy) một ứng dụng dựa trên OSGI không?Biên dịch và chạy một ứng dụng OSGI trong Eclipse

Trả lời

5

Tôi không hoàn toàn chắc chắn nếu tôi hiểu bạn, nhưng ở đây đi. Vâng, chạy/gỡ lỗi các ứng dụng OSGi trong Eclipse thực sự dễ dàng, miễn là các gói của bạn nằm trong các dự án nhận thức PDE hoặc ít nhất là trên nền tảng đích của bạn.

Bạn có nguồn gốc của tất cả các gói của mình không? Gỡ lỗi mà không có nguồn không phải là tất cả những gì hữu ích. Nếu bạn làm thế, bạn có thể nhập tất cả các nguồn của các bó vào không gian làm việc Eclipse của bạn không?

Nếu không, bạn có thể tạo target platform, thêm tất cả các gói của bạn vào đó. (như một nỗ lực đầu tiên, tôi muốn nói đổ tất cả các gói của bạn vào một thư mục và trỏ nền tảng đích đến đó)

Dù bằng cách nào, bạn sẽ có thể Chạy (hoặc gỡ lỗi) -> khung OSGi -> Mới - > Chọn nhóm của bạn -> Bắt đầu

Bạn cả hai có thể chọn các gói từ hoặc nền tảng nhắm mục tiêu và từ không gian làm việc của bạn.

+0

Ồ, bạn cần cài đặt Eclipse với PDE, quên đề cập đến điều đó. –

3

Để xây dựng, bạn có thể sử dụng Eclipse Plugin Development Environment (PDE). Mặc dù tên của nó, nó không phải là cụ thể để xây dựng các plugin Eclipse và có thể được sử dụng để làm việc trên các gói OSGi thuần túy. Các plugin Eclipse là các gói OSGi với một số tính năng bổ sung.

Không thể giúp bạn với phần chạy hoặc gỡ lỗi, mặc dù tôi biết rằng một số nền tảng OSGi hướng doanh nghiệp cung cấp tiện ích mở rộng cho PDE.

1

Nếu bạn đã sử dụng plugin gói maven, bạn có thể thấy rằng phương pháp đầu tiên của PDE không phù hợp với bản dựng mã hiện có đầu tiên của bạn (tôi giả sử cuối cùng bạn muốn cả bản dựng IDE cho phát triển và gỡ lỗi và xây dựng dòng lệnh để tích hợp liên tục và thử nghiệm tự động).

Bạn có hai lựa chọn. Như những người khác đã đề xuất, bạn có thể sử dụng PDE tích hợp của Eclipse và sử dụng Tycho để xây dựng maven của bạn. Tycho sử dụng cùng một dữ liệu được PDE sử dụng, vì vậy bạn không phải viết nhiều thứ xuống một lần. Ngoài ra, bạn có thể gắn bó với trình cắm gói maven và sử dụng bndtools trong Eclipse. Giống như plugin bó, bndtools là mã đầu tiên, vì vậy bạn sẽ không cần phải lo lắng về việc duy trì tệp kê khai. Tuy nhiên, bạn có thể thấy không có nhiều tính năng trong bndtools như trong PDE và tôi khuyên bạn vẫn nên kiểm tra tệp kê khai của mình bằng tay để đảm bảo bạn hiểu những gì đang được tạo. Cho dù bạn thích biểu hiện đầu tiên hoặc mã đầu tiên là một chút của một cuộc tranh luận triết học nóng.

1

Nhìn vào bndtools. bndtools đang sử dụng cùng một bnd nằm bên dưới plugin bó maven. Bạn thậm chí có thể sử dụng bndtools cùng với m2e. bndtools có sẵn trên thị trường Eclipse.