2013-08-24 31 views
10

Tôi đang viết một plugin Eclipse bằng cách sử dụng Eclipse RCP (Kepler). Tất cả mọi thứ đã làm việc tốt cho đến đêm qua tất cả các đột ngột tôi bắt đầu nhận được ngoại lệ con trỏ null khi cố gắng để kiểm tra plugin của tôi. Đây là một snippit của stacktrace:Khởi chạy các Plugin Plugin, Thiếu Constraint javax.xml.bind

!ENTRY org.eclipse.ui.workbench 4 2 2013-08-24 08:36:17.616 
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench". 
!STACK 0 
java.lang.NullPointerException 
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.getLastMigration(MigrationSupport.java:229) 
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.baseChangedSinceLastPresentationOfWizard(MigrationSupport.java:190) 
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.performMigration(MigrationSupport.java:69) 
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler.earlyStartup(AutomaticUpdateScheduler.java:89) 
at org.eclipse.ui.internal.EarlyStartupRunnable.runEarlyStartup(EarlyStartupRunnable.java:87) 
at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2552) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 
java.lang.NullPointerException 
at org.eclipse.core.internal.runtime.InternalPlatform.getLog(InternalPlatform.java:354) 
at org.eclipse.core.runtime.Plugin.getLog(Plugin.java:291) 
at org.eclipse.ui.internal.WorkbenchPlugin.log(WorkbenchPlugin.java:830) 
at org.eclipse.ui.statushandlers.StatusManager.logError(StatusManager.java:285) 
at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:200) 
at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:231) 
at org.eclipse.ui.statushandlers.StatusManager$StatusManagerLogListener.logging(StatusManager.java:305) 
at org.eclipse.core.internal.runtime.RuntimeLog.logToListeners(RuntimeLog.java:160) 
at org.eclipse.core.internal.runtime.PlatformLogWriter.logged(PlatformLogWriter.java:100) 
at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.safeLogged(ExtendedLogReaderServiceFactory.java:86) 
at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.logPrivileged(ExtendedLogReaderServiceFactory.java:205) 
at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.log(ExtendedLogReaderServiceFactory.java:178) 
at org.eclipse.equinox.log.internal.ExtendedLogServiceFactory.log(ExtendedLogServiceFactory.java:65) 
at org.eclipse.equinox.log.internal.ExtendedLogServiceImpl.log(ExtendedLogServiceImpl.java:87) 
at org.eclipse.equinox.log.internal.LoggerImpl.log(LoggerImpl.java:54) 
at org.eclipse.core.internal.runtime.PlatformLogWriter.logging(PlatformLogWriter.java:43) 
at org.eclipse.core.internal.runtime.RuntimeLog.log(RuntimeLog.java:96) 
at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:71) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44) 
at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2552) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

Để thử và tìm ra những gì có thể xảy ra tôi đã đi đến cấu hình khởi chạy cho plugin của tôi và nhấp vào "Validate Plug-ins" và nhận được các lỗi sau:

org.apache.xmlrpc 
    Missing Constraint: Import-package: javax.xml.bind; version="0.0.0" 

missing constraint

phải chăng đây là lý do tại sao tung Plugin của tôi được không? Nếu vậy, làm thế nào để sửa chữa nó?

Cảm ơn bạn

Trả lời

3

Bạn có thể nhấp chuột phải vào dự án của mình, chuyển đến Chạy dưới -> Chạy cấu hình và đến tab Trình cắm. Ở đây, nhấp vào nút Thêm yêu cầu plug-in và điều này sẽ giải quyết vấn đề xác thực của bạn tự động.

+7

tôi có được thông báo lỗi tương tự cho cắm phát triển trong Neon .2 và nút "Thêm yêu cầu" đã không khắc phục được sự cố. –

+0

@aro_tech Tôi chỉ gặp vấn đề tương tự với Neon. Có lẽ nó phải làm với một bản cập nhật gần đây cho một số plugin – Justin

1

Nếu bạn đang thử ứng dụng RCP E4 với các tính năng, hãy thử thêm org.eclipse.e4.rcp vào các phụ thuộc của bạn trong ngăn sản phẩm -> phụ thuộc. Và làm "thêm yêu cầu". Đó là giải quyết vấn đề của tôi

+0

"Sản phẩm-> phụ thuộc" có nghĩa là tôi phải sử dụng trình chỉnh sửa tệp MANIFEST.MF của plugin không? (Tôi không thể thêm phụ thuộc ở đó.) Hoặc bạn có định nghĩa tính năng sản phẩm/bổ sung không? – Stefan

3

Nếu bạn có EclipseLink 2.5.2 cài đặt sau đó nó là một lỗi được biết: https://bugs.eclipse.org/bugs/show_bug.cgi?id=456174

Để khắc phục, cập nhật lên phiên bản mới nhất sử dụng trang web cập nhật này: http://download.eclipse.org/rt/eclipselink/updates/ Chọn một phiên bản mới hơn 2.5. 2

GHI CHÚ: Tôi phải bỏ chọn hộp kiểm "Ẩn phiên bản đã cài đặt" để cài đặt sau khi thêm trang cập nhật vì nó cho rằng nó đã được cài đặt mặc dù nó cho thấy phần mềm KHÔNG được cài đặt khi tôi bỏ chọn hộp này. Một khi bạn đã cài đặt phiên bản mới hơn, bạn khởi động lại Eclipse và sau đó: 1. Chọn menu: Run -> Run Configurations 2. Nhấp vào nút "Add Required Cụm"

Nó nên tất cả làm việc tốt sau đó

+0

Nó hoạt động, cảm ơn! – salee

4

tôi đã phải gỡ bỏ các plugin trong cấu hình chạy của tôi "Eclipse ứng dụng" sau đây để thoát khỏi cảnh báo XmlRpc:

org.apache.xmlrpc 
org.eclipse.mylyn.bugzilla.core 
org.eclipse.mylyn.bugzilla.ui 
org.eclipse.mylyn.commons.xmlrpc 

cảnh báo XmlRpc đã occures với

01.
  • Fresh tải của RCP Eclipse, Oxygen
  • nhúng mới tạo ra với "Hello World, Command" mẫu
  • Windows7

Kể từ Oxygen vấn đề XmlRpc không xảy ra trong giao diện điều khiển nhưng như một cửa sổ bật lên bổ sung, điều mà tôi thấy thậm chí còn khó chịu và khó hiểu hơn. Sản lượng thêm giao diện điều khiển chương trình sau:

SLF4J: Class path contains multiple SLF4J bindings. 
    SLF4J: Found binding in [bundleresource://555.fwk1347294617:1/org/slf4j/impl/StaticLoggerBinder.class] 
    SLF4J: Found binding in [bundleresource://555.fwk1347294617:2/org/slf4j/impl/StaticLoggerBinder.class] 
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
    SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] 
    08:49:41.650 [Worker-1] INFO c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. 
    !SESSION 2017-09-04 08:49:32.846 ----------------------------------------------- 
    eclipse.buildId=4.7.0.I20170612-0950 
    java.version=1.8.0_144 
    java.vendor=Oracle Corporation 
    BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE 
    Framework arguments: -product org.eclipse.platform.ide 
    Command-line arguments: -product org.eclipse.platform.ide -data D:\eclipse\workspace/../runtime-EclipseApplication -dev file:D:/eclipse/workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog 

    !ENTRY org.eclipse.egit.ui 2 0 2017-09-04 08:49:41.847 
    !MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git 
    user global configuration and to define the default location to store repositories: 'C:\Users\eis'. If this is 
    not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and 
    EGit might behave differently since they see different configuration options. 
    This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. 

Could this be the reason why launching my plugin is failing?

Tôi đoán không.Plugin của tôi dường như không bị ảnh hưởng bởi những cảnh báo đó.

  • Các git cảnh báo có thể bị vô hiệu hóa trong các ưu đãi Đội Eclipse, như cảnh báo tự gợi ý.

  • Các slf4j cảnh báo thể được giải quyết bằng cách loại bỏ các plugin ch.qos.logback.slf4j, cũng thấy multiple slf4j bindings in Eclipse RCP Plugin

Nếu bạn tự thay đổi lựa chọn plugin, hãy cẩn thận và sử dụng Validate Plug-ins tính năng để đảm bảo bạn không tạo ra các vấn đề phụ thuộc khác.

Nếu bạn đã cài đặt các plugin bổ sung, bạn có thể thấy nhiều cảnh báo hơn, ví dụ: từ kiểu kiểm tra:

!ENTRY org.eclipse.ui 2 0 2017-09-04 10:09:32.926 
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. 
!SUBENTRY 1 org.eclipse.ui 2 0 2017-09-04 10:09:32.926 
!MESSAGE Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs' 

!ENTRY org.eclipse.ui 2 0 2017-09-04 10:09:33.622 
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. 
!SUBENTRY 1 org.eclipse.ui 2 0 2017-09-04 10:09:33.622 
!MESSAGE Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs' 

=> Đó là một mớ hỗn độn. Do đó, có thể là một ý tưởng hay để tạo một bản sao của các cảnh báo "mặc định" có thể bỏ qua. Sau đó, sẽ dễ dàng hơn để xem liệu cảnh báo có liên quan đến plugin/thay đổi gần đây của riêng bạn hay không.

Sửa

tôi nộp một lỗi cho những lời cảnh báo checkstyle và nhờ Lars Ködderitzsch họ sẽ được giải quyết với phiên bản 8.5.0: https://sourceforge.net/p/eclipse-cs/bugs/428/

+0

Đây thực sự là trường hợp của tôi. Tôi đang sử dụng phiên bản Eclypse - Leon. Điều này có thể hữu ích cho một số người khác. Cảm ơn, Stefan. – ClickBright

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