在Eclipse E4中启动产品时“applicationXMI参数未设置”

时间:2017-12-21 18:46:05

标签: eclipse rcp e4

过去几天我花了一些时间将Eclipse E4插件项目的构建过程转移到maven和tycho。在我开始工作之后,我想再次看一下producr并试图通过RunAs“xvy.product”启动它。 我希望工作正常,但我收到此错误消息:

applicationXMI parameter not set and no branding plugin defined. 
java.lang.Exception
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.lambda$12(E4Application.java:397)
    at java.util.Optional.orElseGet(Optional.java:267)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.determineApplicationModelURI(E4Application.java:391)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:349)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:253)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:149)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472)

最后看起来,我自己的代码似乎没有任何问题?!经过一些谷歌搜索后,我终于发现了一些类似的错误:这个问题在stackoverflow Eclipse 4 RCP Deployment applicationXMI argument missing进行了讨论,但我没有收到 AssertionFailedException也不尝试导出RCP产品。另一个出现是eclipse.org上的一个错误Application.e4xmi should be default for "applicationXMI" 因此,我查看了我的plugin.xml,它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         id="prod"
         point="org.eclipse.core.runtime.products">
      <product
            application="org.eclipse.e4.ui.workbench.swt.E4Application"
            name="FinPim">
         <property
               name="appName"
               value="FinPim">
         </property>
         <property
               name="applicationXMI"
               value="mhFinPim/Application.e4xmi">
         </property>
         <property name="lifeCycleURI" value="bundleclass://mhFinPim/de.mho.finpim.lifecycle.Manager"></property>
      </product>
   </extension>

</plugin>

你可以在这里看到,我的applicationXMI指向mhFinPim / Application.e4xmi ,这是bundlename / Applicatione4xmi 那么,现在我想知道,还有什么可能是错误的,这会阻止我的产品开始?

在此例外之后,我再收到一个:

java.lang.NullPointerException
    at org.eclipse.emf.common.util.URI$URIPool$PlatformAccessUnit.setValue(URI.java:865)
    at org.eclipse.emf.common.util.URI$URIPool.intern(URI.java:1949)
    at org.eclipse.emf.common.util.URI.createPlatformPluginURI(URI.java:2718)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.determineApplicationModelURI(E4Application.java:408)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:349)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:253)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:149)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1472)

我想,这只是由第一个异常引起的后续错误?

0 个答案:

没有答案