代码之家  ›  专栏  ›  技术社区  ›  Epaga Alex Reynolds

“加载操纵器时出错”

  •  6
  • Epaga Alex Reynolds  · 技术社区  · 15 年前

    在安装wtp网页编辑器插件时,我在EclipseGalileo下不断遇到以下错误:

    java.lang.IllegalStateException: Error while loading manipulator.
    at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:54)
    at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getConfigData(LazyManipulator.java:108)
    at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.installBundle(InstallBundleAction.java:76)
    at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.execute(InstallBundleAction.java:29)
    at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:35)
    at org.eclipse.equinox.internal.provisional.p2.engine.Phase.mainPerform(Phase.java:129)
    at org.eclipse.equinox.internal.provisional.p2.engine.Phase.perform(Phase.java:72)
    at org.eclipse.equinox.internal.provisional.p2.engine.PhaseSet.perform(PhaseSet.java:44)
    at org.eclipse.equinox.internal.provisional.p2.engine.Engine.perform(Engine.java:54)
    at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil.performProvisioningPlan(ProvisioningUtil.java:389)
    at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProfileModificationOperation.doExecute(ProfileModificationOperation.java:61)
    at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation.execute(ProvisioningOperation.java:37)
    at org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner$1.run(ProvisioningOperationRunner.java:94)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
    

    一个博客说Eclipse GaliLo在Java 1.6上玩不好(什么?),所以我试着用Java 1.5运行Eclipse,但没用。有没有其他人有过这个问题并且能够解决?


    编辑 顺便说一句,在错误日志中的错误下面它还说

    session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Install, operand=null --> [R]javax.mail 1.4.0.v200905040518, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).

    4 回复  |  直到 7 年前
        1
  •  8
  •   VonC    7 年前

    您可以尝试遵循 bug 277242

    同时检查eclipse.ini:

    一般来说,当我们无法阅读时,您看到的错误可能会发生。” -startup “因为我们用它来定位install.area。

    正如建议的那样 Jelle van Geuns 在评论中(并由 Halfstop ):

    我发现一个MacOS有两个文件夹(MacOS和Eclipse),其中包含两组独立的配置文件。
    每个人都有一个 org.eclipse.equinox.launcher '在plugins子文件夹中启动jar,但版本略有不同。

    Eclipse可执行文件位于MacOS文件夹中。
    但是 eclipse.ini 已经设置为在下面查找启动jar Eclipse/plugins 但版本不对。

    对我有效的解决方案是复制 startup.jar 两个插件子文件夹。

    半停机 确认:

    我把Eclipse中的所有内容复制到macos目录中,这样就解决了这个问题。

        2
  •  0
  •   Patrioticcow    10 年前

    尝试 chown -R your_user_name:your_user_name /path/to/eclipe

        3
  •  0
  •   hedleyyan    8 年前

    尝试编辑 Eclipse/configuration/config.ini .

    确保 osgi.instance.area.default= 值是正确的工作区。这对我有用。

        4
  •  0
  •   Margaret Bloom    8 年前

    我不确定上述答案是否能充分解决这个问题。我发现,对于Eclipse衍生的RCP产品,在某些Linux机器上,插件将失败,日志条目如下:

    !ENTRY org.eclipse.equinox.p2.engine 4 4 2017-02-23 12:00:49.492
    !MESSAGE An error occurred while installing the items
    !SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2017-02-23 12:00:49.492
    !MESSAGE session context was:(profile=TIBCOBusinessStudio-4.0, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.tibco.eclipse.p2.installer 1.1.3.20161130, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).
    !SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2017-02-23 12:00:49.492
    !MESSAGE Error while loading manipulator.
    !STACK 0
    java.lang.IllegalStateException: Error while loading manipulator.
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.loadDelegate(LazyManipulator.java:59)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.LazyManipulator.getConfigData(LazyManipulator.java:108)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.installBundle(InstallBundleAction.java:75)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction.execute(InstallBundleAction.java:32)
        at org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction.execute(ParameterizedProvisioningAction.java:38)
        at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:183)
        at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:95)
        at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:47)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:75)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
        at org.eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:159)
        at org.eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:79)
        at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    

    发生这种情况的原因(我怀疑)是配置文件的实际文件名与Lazyloader的绝对文件名进行了比较。在我的例子中,home dir是一个符号链接,所以这两个名称不匹配。解决方案是编辑eclipse.ini(或您的任何名称),并确保引用eclipse home dir的所有路径都是完全限定的,并且不依赖符号链接。