2012-09-09 85 views
1

我已經使用Xtext包含表達式實現了域特定語言(DSL),因此爲了容易檢查它們的有效性,我決定使用Xtext-typesystem Framework
我試圖實施本tutorial給出的例子,但是當我使用從Xtext Typesystem Framework注入ITypesystem時,Xtext編輯器崩潰

@Inject private ITypesystem ts; 

,然後嘗試運行啓動運行時的Eclipse爲了檢查我的規則的有效性,編輯器將無法打開,我得到很多錯誤。下面還有一些人:

java.lang.NoClassDefFoundError: org/eclipse/xtext/xbase/lib/Procedures$Procedure1 
at java.lang.Class.getDeclaredConstructors0(Native Method) 
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) 
at java.lang.Class.getDeclaredConstructors(Class.java:1853) 
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:243) 
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:96) 
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629) 
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:845) 

...

org.eclipse.papyrus.core.services.ServiceNotFoundException: Can't get the current Eclipse Active Editor. No ServiceRegistry found. 
at org.eclipse.papyrus.core.utils.ServiceUtilsForActionHandlers.getServiceRegistry(ServiceUtilsForActionHandlers.java:67) 
at org.eclipse.papyrus.core.utils.ServiceUtilsForActionHandlers.getTransactionalEditingDomain(ServiceUtilsForActionHandlers.java:88) 
at org.eclipse.papyrus.diagram.common.handlers.GraphicalCommandHandler.getEditingDomain(GraphicalCommandHandler.java:135) 
at org.eclipse.papyrus.diagram.common.handlers.LoadHandler.getCommand(LoadHandler.java:49) 
at org.eclipse.papyrus.diagram.common.handlers.GraphicalCommandHandler.isEnabled(GraphicalCommandHandler.java:107) 
at org.eclipse.ui.internal.handlers.HandlerProxy.isEnabled(HandlerProxy.java:320) 
at org.eclipse.core.commands.Command.isEnabled(Command.java:833) 
at org.eclipse.core.commands.Command.setHandler(Command.java:965) 

(這是什麼紙莎草紙與此有關?)

!MESSAGE A conflict occurred for ALT+CTRL+I:Binding(ALT+CTRL+I, 
ParameterizedCommand(Command(org.eclipse.egit.ui.team.Ignore,Ignore, 
    , 
    Category(org.eclipse.egit.ui.commandCategory,Git,null,true), 
    org.eclipse.egit.ui.internal.actions.IgnoreActionHandler, 
    ,,true),null), 
org.eclipse.ui.defaultAcceleratorConfiguration, 
org.eclipse.ui.contexts.window,,,system)Binding(ALT+CTRL+I, 
ParameterizedCommand(Command(org.eclipse.team.svn.ui.command.AddToSVNIgnoreCommand,Add to svn:ignore..., 
    , 
    Category(org.eclipse.team.svn.ui.command.category,SVN,null,true), 
    , 
    ,,true),null), 
org.eclipse.ui.defaultAcceleratorConfiguration, 
org.eclipse.ui.contexts.window,,,system) 

熱鬧的地段其他錯誤。 有關爲什麼會發生這種情況的任何想法?

預先感謝您。

回答

1

不知何故,您向包org.eclipse.xtext.xbase.lib引入了(傳遞?)依賴項。請確保您在清單中導入該文件,並且不要將其從啓動配置中排除。 eGit/SVN鍵綁定衝突似乎與此無關。

+0

謝謝你的回覆。包被導入清單和啓動config.If我抹掉「@Inject」編輯器運行就好(但我不知道類型系統規則工作)。我不能unserstand在哪裏注射的問題。 – gosling

+0

您是否從ITypesystem添加了一個綁定到實現類? –

+0

不,不幸的是,我不知道如何以及在哪裏做這個。非常感謝! – gosling