Tycho - Eclipse RCP 产品(重新)品牌化问题:显示错误的启动画面

Tycho - Eclipse RCP Product (re)branding issue : wrong splash screen shown

目标:

我想制作一个基于现有 Eclipse.org 特性和我自己的附加特性的 Eclipse RCP 产品特性。

简介:

为了重新开始,我按照 Lars Vogel 的 Eclipse Tycho tutorial 进行了第 9 步。

我只做了一些调整:

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

mvn clean verify

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

run-product.bat

结果:如期启动,图标出现在任务栏中,右启动画面出现。好的!

问题:

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

然后我重做构建和冒烟测试...不幸的是,显示的是 Eclipse "Oxygen" 初始屏幕...

我怎样才能阻止 Eclipse "Oxygen" 闪屏出现,并用我的闪屏代替?

产品定义文件:

<?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>

附件:

Eclipse Project achive

经过数小时的 Maven 构建调试后,我发现功能 "org.eclipse.epp.package.java.feature" 似乎包含一个带有接触点的配置,用于修改 config.ini 并因此更改 osgi.splashPath 的值, eclipse.product 和 eclipse.application。

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

现在,新图标和新初始屏幕都按需要出现了。

这是最终的产品定义文件:

<?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>