【问题标题】:"applicationXMI parameter not set" on starting a product in Eclipse E4在 Eclipse E4 中启动产品时出现“applicationXMI 参数未设置”
【发布时间】:2017-12-21 18:46:04
【问题描述】:

最近几天我花了一些时间将我的 Eclipse E4 插件项目的构建过程转移到 maven 和 tycho。完成这项工作后,我想再次查看生产者并尝试通过 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)

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

【问题讨论】:

  • 可能这不是您正在运行的 plugin.xml。检查运行配置。
  • 够尴尬的,运行配置真的没有指向提到的plugin.xml! ;-(

标签: eclipse rcp e4


【解决方案1】:

我在重建后意外地重新生成了我的 eclipse.ini 文件时遇到了相同类型的错误。当时我的问题是,对 Java VM 的引用 (-vm) 已在 ini 文件中删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2016-08-05
    • 2015-12-05
    • 2013-07-05
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多