【问题标题】:The right way to create Eclipse product创建 Eclipse 产品的正确方法
【发布时间】:2021-05-05 00:43:43
【问题描述】:

Eclipse 大师可以用简单的英语解释我做错了什么吗? :) 假设我有一个多模式 Maven 项目,每个模块都是一个 Eclipse 插件。此外,我有一个从这些插件创建 Eclipse 功能的模块。 我想从我的所有功能中创建一个 Eclipse 产品,并将其作为由 ant 运行的 CLI 应用程序运行。 因此,我为我的应用程序创建了另一个包含产品文件的模块。 我决定我的产品将面向功能,因此我在我的产品文件中添加了该部分并将我的所有功能插入其中。

然后在“配置”选项卡上按“添加推荐”,Eclipse 添加下一个插件

 <plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
 <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
 <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
 <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
 <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />

在产品文件的配置部分。

我编译了我的整个 maven 项目并收到了一个可以在终端中运行的可执行文件。

但不幸的是,当我通过命令启动此文件时 ant -propertyfile ant.cfg -f config/compile.xml

我收到

BUILD FAILED
..... : exec returned: 139

当我启动我的可执行文件时,我收到“分段错误”

所以我的问题是:我应该将哪些插件添加到产品文件的配置部分?

附:在我的另一个post中有更详细的描述 P.P.S 这个产品在Eclipse Kepler上运行Java 8时,产品文件中有很多额外的插件,我应该都添加吗?

【问题讨论】:

  • 不幸的是,当我按下“添加必需”时,什么也没有发生。目标平台基于 2020-12。我的 post 有配置。
  • 您的产品文件正在使用指定所需插件的“功能”,您无法将单个插件添加到基于功能的产品中。

标签: eclipse-plugin eclipse-rcp java-11


【解决方案1】:

根本问题不在功能和插件列表中,而是在 &lt;programArgsLin&gt;-os ${target.os} -ws ${target.ws} -arch ${target.arch} -consoleLog 删除 -os ${target.os} -ws ${target.ws} -arch ${target.arch} 后,应用程序启动时没有“分段错误”。

关于功能和插件的列表 - 我找到了“算法”:)

  1. 打开产品文件并在“目录”选项卡上添加您需要的所有功能
  2. 转到“配置”选项卡并按“添加推荐”,eclipse 将添加
<configurations>
      <plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
   </configurations>

到产品文件 3. 在这一步应用仍然无法编译,因为找不到org.apache.felix.scr。我使用post 中的方法来查找 org.apache.felix.scr 属于哪个功能 - 它是 org.eclipse.e4.rcp

  1. 所以,我返回到“目录”选项卡并添加了 org.eclipse.e4.rcp 作为功能
  2. 之后,我按下“添加必需”,eclipse 添加了附加功能。因此完整的产品配置文件看起来像
...
<launcherArgs>
      <programArgs>-consoleLog
      </programArgs>
      <vmArgs>-Xshare:auto -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dlogback.configurationFile=log.xml
      </vmArgs>
      <vmArgsLin>
         <argsX86_64>-Xmx2048m -Xms512m -XX:+UseParallelGC</argsX86_64>
      </vmArgsLin>
      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
      </vmArgsMac>
      <vmArgsWin>-Xmx768m -Xms256m
      </vmArgsWin>
   </launcherArgs>
...
<features>
     ... list of my features ...
      <feature id="org.eclipse.e4.rcp" installMode="root"/>
      <feature id="org.eclipse.emf.ecore" installMode="root"/>
      <feature id="org.eclipse.emf.common" installMode="root"/>
   </features>

   <configurations>
      <plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
   </configurations>
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    相关资源
    最近更新 更多