1

我正在尝试从 ecore 元模型生成 gmf 编辑器。我主要关注本教程。当我尝试将 gmf 作为 Eclipse 应用程序运行时,出现以下错误。

eclipse.buildId=unknown
java.version=1.7.0_21
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Framework arguments:  -application test.diagram.TestApplication
Command-line arguments:  -application test.diagram.TestApplication -data C:\Program Files (x86)\eclipse epsilon\workspace/../runtime-test.diagram.TestApplication -dev file:C:/Program Files (x86)/eclipse epsilon/workspace/.metadata/.plugins/org.eclipse.pde.core/test.diagram.TestApplication/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY org.eclipse.gmf.runtime.diagram.ui.printing.render 4 0 2014-08-03 13:42:06.118
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.gmf.runtime.diagram.ui.printing.render [33]
  Unresolved requirement: Require-Bundle: org.eclipse.gmf.runtime.draw2d.ui.render.awt; bundle-version="[1.2.0,2.0.0)"
    -> Bundle-SymbolicName: org.eclipse.gmf.runtime.draw2d.ui.render.awt; bundle-version="1.8.0.201406111639"; singleton:="true"
       org.eclipse.gmf.runtime.draw2d.ui.render.awt [81]
         Unresolved requirement: Require-Bundle: org.apache.batik.ext.awt; bundle-version="[1.6.0,1.7.0)"
           -> Bundle-SymbolicName: org.apache.batik.ext.awt; bundle-version="1.6.0.v201011041432"
              org.apache.batik.ext.awt [7]
                Unresolved requirement: Require-Bundle: org.apache.batik.util; bundle-version="[1.6.0,1.7.0)"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

任何想法?

4

2 回答 2

1

Eclipse Luna SR1 中存在依赖冲突的问题。我为这个问题找到的解决方案如下:

  • 转到图表项目的 MANIFEST.MF 并删除对以下内容的依赖:org.eclipse.gmf.runtime.diagram.ui.render

这会消除您的错误,但如果您使用的是 Java 7,则会出现另一个错误。问题出在org.eclipse.jdt.annotation 2.x需要 Java 8 的库中。要解决此问题,您需要:

  • 转到运行-> 配置
  • 选择选项卡“插件”
  • 选择“启动方式”旁边的“仅在下面选择的插件”
  • 点击“取消全选”
  • 单击“添加所需插件”(要启用此按钮,搜索框需要为空)
  • 取消选中org.eclipse.jdt.annotation 2.x
  • 查看org.eclipse.jdt.annotation 1.x
  • 应用并运行。

可以启动 GMF 编辑器。由于缺少依赖项,控制台会写入一个异常,但它似乎没有什么不同(除非对我来说)

于 2015-02-06T09:36:06.457 回答
0

我遇到了同样的问题,原因是 Apache Batik 的 1.6 和 1.7 版本在启动时都启用了。基于 Edumundos 解决方案,这解决了我的问题:

在运行配置插件选项卡中,搜索batik. 有多个插件名称相同但版本不同。禁用所有版本 1.6。

于 2015-03-02T14:33:10.610 回答