【问题标题】:Launching Plugin Fails, Missing Constraint javax.xml.bind启动插件失败,缺少约束 javax.xml.bind
【发布时间】:2013-08-24 15:42:56
【问题描述】:

我正在使用 Eclipse RCP (Kepler) 编写一个 Eclipse 插件。一切正常,直到昨晚突然我在尝试测试我的插件时开始收到空指针异常。这是堆栈跟踪的片段:

!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)

为了尝试找出可能发生的情况,我转到插件的启动配置并单击“验证插件”并收到以下错误:

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

这可能是我的插件启动失败的原因吗?如果是这样,我该如何解决?

谢谢

【问题讨论】:

    标签: plugins eclipse-rcp constraints launching-application


    【解决方案1】:

    尝试不同的东西后:我做到了:

    help>安装新软件

    并添加了这个存储库: http://download.eclipse.org/tools/orbit/downloads/drops/R20190226160451/repository 取自轨道:https://download.eclipse.org/tools/orbit/downloads/drops/R20190226160451/

    选择与.javax、xml流相关的那些

    它对我有用。 Eclipse 建模工具 版本:2019-03 (4.11.0) 赢得 10

    【讨论】:

    • 就我而言,根本原因是预期的 Java 8 包和 11 之间的差异(不推荐使用 javax.xml.bind),这个解决方法对我有用。
    • 谢谢,第一个链接保存我的插件项目。
    【解决方案2】:

    您可以右键单击您的项目,转到运行方式 -> 运行配置和插件选项卡。在这里单击添加所需插件按钮,这应该会自动解决您的验证问题。

    【讨论】:

    • 我在 Neon.2 中的插件开发出现同样的错误信息,“添加所需插件”按钮并没有解决问题。
    • @aro_tech 我刚刚遇到了与 Neon 相同的问题。也许这与最近对某些插件的更新有关
    • 我收到了许多错误消息,其中一些已通过使用此按钮修复。
    • 这个修复对我有用,我正在为 TFS 添加插件。谢谢@Monica
    【解决方案3】:

    我必须在我的运行配置“Eclipse 应用程序”中删除以下插件以摆脱 xmlrpc 警告

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

    xmlrpc 警告已经发生

    • Eclipse RCP,氧气的全新下载
    • 使用“Hello World, Command”模板创建的新插件
    • Windows7

    由于 Oxygen,xmlrpc 问题不会出现在控制台中,而是作为一个额外的弹出窗口,我觉得这更令人讨厌和困惑。控制台显示以下附加输出:

     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. 
    

    这可能是我的插件启动失败的原因吗?

    我猜不是。我的插件似乎不受这些警告的影响。

    如果您手动更改插件选择,请小心并使用Validate Plug-ins 功能确保不会产生其他依赖问题。

    如果您安装了其他插件,您可能会看到更多警告,例如来自检查样式:

    !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'
    

    =>有点乱。因此,复制可以忽略的“默认”警告可能是个好主意。然后更容易查看警告是否与您自己的插件/最近的更改有关。

    编辑

    我为 checkstyle 警告提交了一个错误,感谢 Lars Koedderitzsch,它们将在 8.5.0 版中得到解决: https://sourceforge.net/p/eclipse-cs/bugs/428/

    【讨论】:

    • 这实际上是我的情况。我正在使用 Eclypse 版本 - Leon。这可能对其他人有用。谢谢,斯特凡。
    【解决方案4】:

    如果您安装了 EclipseLink 2.5.2,那么这是一个已知错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=456174

    要修复,请使用此更新站点更新到最新版本:http://download.eclipse.org/rt/eclipselink/updates/ 选择比 2.5.2 更新的版本

    注意:添加更新站点后,我必须取消选中“隐藏安装的版本”复选框才能安装,因为它似乎认为它已安装,尽管当我取消选中该框时它显示软件未安装。 安装新版本后,重新启动 Eclipse,然后: 1. 选择菜单:运行 -> 运行配置 2. 点击按钮“添加所需的捆绑包”

    之后应该一切正常

    【讨论】:

      【解决方案5】:

      如果您正在尝试具有功能的 RCP E4 应用程序,请尝试将 org.eclipse.e4.rcp 添加到产品 -> 依赖项窗格中的依赖项中。并执行“添加必需”。这解决了我的问题

      【讨论】:

      • “product->dependencies”是否意味着我必须使用插件的 MANIFEST.MF 文件的编辑器? (我无法在此处添加依赖项。)或者您是否有额外的产品/功能定义?
      【解决方案6】:

      如果您只是想忽略这些错误,您可以转到运行 > 运行配置 > 插件,并取消选中“在启动前自动验证插件 "在底部。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-29
        • 2014-12-07
        • 1970-01-01
        • 2019-02-27
        • 2018-12-12
        • 2021-06-13
        相关资源
        最近更新 更多