Tycho - Eclipse RCP产品(再)品牌问题:显示错误的闪屏

时间:2017-04-19 13:32:48

标签: eclipse-rcp tycho

目标:

我想基于现有的Eclipse.org功能和我自己的其他功能制作Eclipse RCP产品功能。

简介:

要重新开始,我已经跟随Lars Vogel的Eclipse Tycho tutorial直到第9步。

我做了一些调整:

  • 我使用的是最新版本的Eclips RCP平台(Oxygen)
  • 我使用的是最新版本的Eclipse Tycho(1.0.0)
  • 我必须设置插件的自动启动模式部分产品配置(c.f. com.vogella.tycho.rcp.product文件)
  • 我已经添加了这两个品牌文件
    • " splash.bmp" com.vogella.tycho.rcp插件的根文件夹中的图像,此外我已将splash.bmp添加到build.properties文件定义的二进制构建中
    • " icons / product.ico" icon to com.vogella.tycho.product project
  • 最后,我已经完成了com.vogella.tycho.rcp.product文件定义的产品定义,其中包含图标和启动图像的位置。

...我使用Maven 3构建了产品,从根项目文件夹执行以下命令:

mvn clean verify

最后我做了一个烟雾测试:

run-product.bat

结果:启动符合预期,图标显示在任务栏中,右侧的启动画面显示。好吧!

问题:

现在,我将生成定义添加到Eclipse.org中的一个功能:org.eclipse.epp.package.java.feature

然后我重做构建和烟雾测试......不幸的是它是Eclipse"氧气"显示的闪屏......

我怎样才能阻止Eclipse"氧气"启动屏幕以显示并改为使用启动画面?

产品定义文件:

<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
<product name="com.vogella.tycho.rcp" uid="foo" id="com.vogella.tycho.rcp.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
   <configIni use="default"></configIni>
   <launcherArgs>
      <programArgs>-clearPersistedState</programArgs>
      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
   </launcherArgs>
   <windowImages/>
   <splash location="com.vogella.tycho.rcp" />
   <launcher name="foo">
      <win useIco="true">
        <ico path="icons/product.ico"/>
        <bmp/>
      </win>
   </launcher>
   <vm>
   </vm>
   <plugins>
   </plugins>
   <features>
      <feature id="org.eclipse.e4.rcp" installMode="root"/>
      <feature id="com.vogella.tycho.feature" version="1.0.0.qualifier"/>
      <feature id="org.eclipse.emf.common"/>
      <feature id="org.eclipse.emf.ecore"/>
      <feature id="org.eclipse.epp.package.java.feature"/>
   </features>
   <configurations>
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="3" />
      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="3" />
   </configurations>
</product>

Attachement:

Eclipse Project achive

1 个答案:

答案 0 :(得分:1)

经过几个小时的Maven构建调试,我发现了该功能&#34; org.eclipse.epp.package.java.feature&#34;似乎包含一个带接触点的配置来修改config.ini,因此更改了osgi.splashPath,eclipse.product和eclipse.application的值。

所以我决定更改产品定义文件,并使用&#34; org.eclipse.jdt&#34; feature(而不是&#34; org.eclipse.epp.package.java.feature&#34;)并将其依赖项添加到产品定义文件中。

现在,新图标和新启动屏幕都会根据需要显示。

以下是最终产品定义文件:

<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>

<product name="com.vogella.tycho.rcp" uid="foo" id="com.hipperos.workbench.rcp.product" application="org.eclipse.ui.ide.workbench" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">

   <configIni use="default">
   </configIni>

   <launcherArgs>
      <programArgs>-clearPersistedState
      </programArgs>
      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
      </vmArgsMac>
   </launcherArgs>

   <windowImages/>

   <splash
      location="com.vogella.tycho.rcp" />
   <launcher name="foo">
      <win useIco="true">
         <ico path="icons/product.ico"/>
         <bmp/>
      </win>
   </launcher>

   <vm>
   </vm>

   <plugins>
   </plugins>

   <features>
      <feature id="org.eclipse.e4.rcp" installMode="root"/>
      <feature id="com.vogella.tycho.feature" version="1.0.0.qualifier"/>
      <feature id="org.eclipse.emf.common"/>
      <feature id="org.eclipse.emf.ecore"/>
      <feature id="org.eclipse.rcp" version="4.7.0.v20170308-2000"/>
      <feature id="org.eclipse.jdt" version="3.13.0.v20170308-2105"/>
      <feature id="org.eclipse.platform" version="4.7.0.v20170308-2000"/>
      <feature id="org.eclipse.equinox.p2.core.feature" version="1.4.0.v20170208-2010"/>
      <feature id="org.eclipse.ecf.core.feature" version="1.3.0.v20170110-1317"/>
      <feature id="org.eclipse.ecf.filetransfer.feature" version="3.13.5.v20170216-0456"/>
      <feature id="org.eclipse.help" version="2.2.100.v20170308-2000"/>
   </features>

   <configurations>
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="3" />
      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="3" />
   </configurations>

</product>