2012-03-09 39 views
5

Tôi biết có thể xuất ứng dụng rcp của mình, tạo một tệp .exe và chạy nó bằng lệnh "Runtime.getRuntime(). Exec()" nhưng, tôi muốn khởi chạy ứng dụng rcp của tôi từ phương thức chính của lớp java mà không cần tạo và gọi exe. là nó có thể?Khởi chạy ứng dụng RCP từ chính()

Trả lời

5

Tôi không chắc chắn nó là thực sự hữu ích đối với bạn, nó phụ thuộc vào lý do tại sao bạn cần để bắt đầu một IApplication, nhưng dù sao ...

tôi sẽ đọc trang wiki về Equinox Application Model Demo mà trình bày cách OSGi Application quản lý dịch vụ có thể được sử dụng để kiểm soát ứng dụng. Bạn có thể lấy mã từ CVS như được mô tả ở đó. Bạn cũng có thể kiểm tra mã trong lớp org.eclipse.equinox.internal.app.AppCommands, cụ thể là trong phương thức _startApp(), cũng bắt đầu một ứng dụng đã được xác định và thực hiện lệnh "startApp" trong bảng điều khiển OSGi.

Lưu ý rằng bạn có thể cần phải điều chỉnh cách bạn bắt đầu cá thể Eclipse mà từ đó bạn muốn khởi động ứng dụng khác (ví dụ: eclipse.application.registerTùy chọn thời gian chạy mô tả see the help page).

Hy vọng điều này sẽ hữu ích!

2

Giả sử bạn đã chạy OSGi, câu trả lời từ @Urbi là đúng. Nếu bạn cũng cần bắt đầu OSGi, thì hãy cẩn thận rằng bạn làm điều này từ chuỗi chính của riêng bạn - tức là chuỗi ban đầu của ứng dụng của bạn - vì SWT sẽ không hoạt động đúng trên tất cả các nền tảng.

Hãy xem org.eclipse.core.runtime.adaptor.EclipseStarter để biết cách khởi động OSGi và ứng dụng của bạn.

2

Chỉ cần tạo một ngã ba của gói org.eclipse.equinox.launcher nó có một lớp Chính với hàm main tĩnh (còn gọi là điểm vào) mà đại biểu cho hàm chạy. Bạn có thể phân lớp nó một ghi đè lên hàm chạy và làm những gì bạn muốn làm.

Các vấn đề liên quan