2010-08-10 46 views

Trả lời

6

Vấn đề là mục tiêu mặc định bao gồm nhiều các gói không liên quan đến gói của bạn - nhập lệnh ss khi tất cả các thông báo lỗi đã hoàn thành sẽ liệt kê chúng.

Dưới đây là những gì bạn làm:

  1. Trong Eclipse, vào Preferences> Plug-in Development> Target vBulletin
  2. Tạo một sản phẩm nào định nghĩa mục tiêu mới
  3. Trong tab Vị trí, thêm một thư mục chứa không có gì ngoài gói Equinox (mà bạn có thể sao chép từ thư mục plugins của bản cài đặt Eclipse của bạn, jar được đặt tên giống như org.eclipse.osgi_3.7.0.v20110613.jar)
  4. Đảm bảo mục tiêu mới đang hoạt động và thử chạy nhóm của bạn một lần nữa
0

Đầu tiên hãy kiểm tra các phụ thuộc của plugin trống. Có thể là bạn đang thiếu để thêm một plugin, whcih không được tải tại thời gian chạy.

Nếu bạn có phụ thuộc trong plugin của mình, hãy kiểm tra phiên bản của plugin được sử dụng.

Phiên bản Java nào bạn đã xác định trong plugin của mình? Có cao hơn phiên bản bạn đang sử dụng khi chạy không?

Plugin của bạn có tải DLL không? nếu có, hãy kiểm tra xem DLL có thể được tìm thấy trong thời gian chạy hay không.

Edit:

# Workbench chưa được tạo ra được nêu ra. # tại org.eclipse.ui.PlatformUI.getWorkbench (PlatformUI.java:92) # tại org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin.start (MonitorUiPlugin.java:145)

Bạn đã xác định điều gì trong phương thức bắt đầu của Trình kích hoạt? Nó bán, rằng bạn đang sử dụng bàn làm việc chưa được tạo ra.

+0

Người ta hoàn toàn trống rỗng plug-in –

+0

Đây là activator của tôi http://pastebin.com/6S8a8hnr –

3

Đây là vấn đề chính:

java.lang.IllegalStateException: Workbench chưa được tạo ra được nêu ra.

Bạn đang sử dụng các phương pháp/đối tượng từ bàn làm việc hoặc liên quan đến bàn làm việc trong khi bản thân bàn làm việc chưa được tạo. Có thể bạn có thể trì hoãn việc kích hoạt gói hoặc loại bỏ các phụ thuộc 'bàn làm việc' từ phần kích hoạt/khởi tạo của gói.


Yikes, quay lại đầu. Dòng cuối cùng của nhật ký chứa 'Hello World' - đây có phải là kết quả mong đợi từ gói của bạn không? Có lẽ đó không phải là gói của bạn gây ra lỗi và cảnh báo về đầu ra. Tôi thấy một số 'mylin' và những thứ khác nữa. Nếu có thể, hãy thêm một cài đặt nhật thực sạch khác (không có gói bổ sung/bổ sung) vào hệ thống của bạn và thử gói trong môi trường đó.


Từ một good article on eclipsezone:

Điều này thường xảy ra khi ai đó cố gắng để chạy một ứng dụng Java chống lại một gói OSGi với java -classpath ..... Nó thực sự có nghĩa là trình cắm thêm bàn làm việc chưa bắt đầu, và do đó các cuộc gọi đến getWorkbench() không thành công. Về bản chất, đây là một điều kiện chủng tộc và có thể được giải quyết bằng cách thể hiện sự phụ thuộc rõ ràng vào gói đó hoặc làm tăng gói đó lên higher start level so với bàn làm việc. Nói chung không nhìn thấy, nhưng nếu có, đó là những gì đang xảy ra.

Siêu lớp của gói của bạn là gì? Bởi vì điều đó có thể giới thiệu một sự phụ thuộc vào bàn làm việc.

Và - làm cách nào để 'bắt đầu' gói, từ bên trong nhật thực hoặc hav bạn đã lồng nó lên và đặt nó vào thư mục plugin eclipse? Điều đó cũng có thể tạo nên sự khác biệt.

+0

Bạn có biết, làm thế nào để giải quyết nó? –

+0

Có, 'Xin chào thế giới, đó là kết quả đầu ra của tôi. Tôi đã tải xuống Eclipse mới - đó là các lỗi giống nhau: ( –

0

Cố gắng làm điều này trước khi chạy bó của bạn:

if(!PlatformUI.isWorkbenchRunning()) { 
    PlatformUI.createAndRunWorkbench(PlatformUI.createDisplay(), new WorkbenchAdvisor() {...}); 
} 
2

Không ai trong số những lỗi có bất cứ điều gì để làm với bó của bạn. Như bạn có thể thấy từ đầu ra "Hello World", gói của bạn đang bắt đầu tốt.

Tôi tin rằng bạn đang khởi chạy Eclipse theo cách sai, có thể háo hức kích hoạt tất cả các gói. Eclipse cần phải bắt đầu với hầu hết các gói bàn làm việc trong chế độ "kích hoạt lười".

  1. Vui lòng chỉ định cách bạn khởi chạy Eclipse. Bạn đã thêm -console vào tệp eclipse.ini chưa?
  2. Sự cố này có xảy ra khi bạn KHÔNG cố gắng sử dụng gói của riêng mình không?
  3. Bạn cài đặt và kích hoạt gói của riêng mình như thế nào?
  4. Hãy dán các tập tin sau đây:
    • Các MANIFEST.MF từ bó của riêng bạn
    • config.ini từ ECLIPSE_HOME/configuration
    • eclipse.ini từ ECLIPSE_HOME
5

Tôi đã đấu tranh rất nhiều cho “Bàn làm việc chưa được tạo” ngày đầy đủ.

Nhưng tôi đã giải pháp bằng cách sau đây bước .-

  1. Đến cấu hình Run -> Xóa tất cả các lọ nền tảng mục tiêu.
  2. Nhấp vào thêm gói được yêu cầu.
  3. Kiểm tra org.apache.felix.gogo.runtime, org.apache.felix.gogo.shell, org.eclipse.eqinox.console, org.eclipse.osgi và tệp jar của bạn.
  4. Bước cuối cùng và quan trọng. Chuyển đến Cài đặt->kiểm tra hộp kiểm của "Xóa khu vực định cấu hình trước khi khởi chạy".
  5. Chạy ứng dụng OSGi ngay bây giờ.
  6. Hãy tận hưởng nếu nó phù hợp với bạn vì nó phù hợp với tôi.

Cảm ơn

+0

nơi 'thêm các gói bắt buộc'? – Anthony

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