为 Eclipse RCP 项目生成默认的 config.ini

Posted

技术标签:

【中文标题】为 Eclipse RCP 项目生成默认的 config.ini【英文标题】:Generating default config.ini for an Eclipse RCP projekt 【发布时间】:2015-10-23 09:47:00 【问题描述】:

我有一个 Eclipse RCP 项目,我必须将其导出为“可部署的插件和片段”,然后创建一个安装程序,它工作正常。安装后,程序无法启动。我在自动生成的 config.ini 文件中添加了一些条目,并且至少显示了登录屏幕。

我希望 Eclipse 根据我在输入掩码中输入的配置自动生成 config.ini 文件。因此,我在我的项目中添加了一个 config.ini.product 文件。但是,如果我导出项目,创建一个安装程序并安装它,config.ini 文件和以前一样,缺少条目。

如果我查看 Eclipse 文档,在我看来,config.ini.product 文件(然后用于生成 config.ini 文件)仅在我将应用程序导出为“Eclipse 产品”时使用。我这是真的还是我混淆了什么?如何让 eclipse 生成带有适当条目的 config.ini 文件?

这些是我后来添加的条目,它们至少显示了应用程序的登录屏幕:

osgi.bundles=org.eclipse.equinox.common@2:start,\

org.eclipse.update.configurator@3:start,\

org.eclipse.core.runtime@start org.eclipse.equinox.ds@4:start,\

org.eclipse.equinox.event@5:start,\

这是从 Eclispe 3.0 到 4.4 的迁移。所以现在我正在使用 Luna。

编辑 1 我现在正在尝试将插件导出为“Eclipse 产品”。在 config.ini.product 文件的 Overview 选项卡中,我可以在“Product”->“Product”和“Application”下添加相应的类。我还在依赖项选项卡中添加了构成应用程序的插件。但是现在如果我想将它导出为“Eclipse 产品”,它会说“找不到该产品的定义插件”。我不是很明白这个错误信息,因为我在依赖选项卡中添加了插件。

【问题讨论】:

使用“可部署的插件和片段”生成一些打算安装在现有 Eclipse 中的东西,config.ini 对此毫无意义,因此无法生成它。跨度> 所以我的假设是正确的。以前的构建过程是将插件导出为“可部署的插件和片段”,然后使用 inno setup 5 构建安装程序。现在,如果我将插件导出为“Eclipse 产品”,我会得到一个独立的像我们之前使用的带有安装向导的应用程序,它安装产品并创建一个 .exe? 产品导出为您提供了一个目录或 zip 文件,其中包含运行 RCP 所需的所有内容(JRE 除外)。最新的 Eclipse Mars 构建可以附带安装程序,但我不知道它是如何构建的(可能使用 Maven + Tycho)。 Edit 1 似乎在问一个全新的问题,如果在@greg-449 的帮助下我还不够,也许你需要创建一个 MCVE @987654321 @ 并且肯定有人会提供帮助。但目前这个问题太像在没有足够信息的情况下寻求调试帮助。 【参考方案1】:

有一组优秀的tutorials 介绍了如何使用 Eclipse、Maven 和 Tycho 创建和构建项目。您还没有谈到如何将构建作为构建系统的一部分进行构建,但是如果您从 Eclipse 3.0 迁移到(非常!)更现代的 Eclipse,则有很多新选项可供您使用。

本教程非常好,因为所有内容都是分阶段构建的,因此您不需要任何东西。

当您到达stage 6 of the tutorial 时,它将向您展示如何制作 Eclipse 产品,而该阶段的关键是 yourname.product 文件中包含有关如何生成和配置正确的 @987654332 的信息@。

简要说明您需要做的事情是:

    创建一个新的产品文件。 File -> New -> Other -> Product Configuration 并按 Next

    填写向导。
      输入位置(现有项目根文件夹正常) 输入名称 初始化文件内容。这是创建 config.ini 的第一遍。你大概可以选择Create a configuration file with basic settingsUse an existing product 的第二个选择可能对您有用,因为您的产品可能与您已经拥有的现有产品非常相似(例如 org.eclipse.platform.ide)。最后,第三个选项Use a launch configuration 允许您从已创建的启动配置中创建产品文件。因此,如果您已经在调整某些启动配置,那么您应该很幸运能够使用该选项。

    配置您的 config.ini
      打开产品文件 选择Configuration标签 按Add Recommended... 按确定 根据需要编辑配置

“找不到产品的定义插件。”

此错误消息表示在 yourname.product 文件的概览选项卡中找不到列出的产品。产品是 Eclipse 的定义有两个方面。首先是在一个插件项目的plugin.xml,具体是扩展org.eclipse.core.runtime.products扩展点。

例如,在Overview 选项卡中,您可能将myproductplugin.product 作为Product(参见下面的屏幕截图),您将在myproductplugin 项目的plugin.xml 中具有以下内容:

   <extension
         id="product"
         point="org.eclipse.core.runtime.products">
      <product
            application="org.eclipse.ui.ide.workbench"
            name="My Product Name Here">
         <property
               name="appName"
               value="My Product Name Here">
         </property>
      </product>
   </extension>

您可以通过点击Synchronize 链接获取为您编写的plugin.xml 内容(见截图)。

【讨论】:

感谢您的回答。我按照描述的步骤操作,但它不起作用。我什至根据我现有的运行配置添加了一个新的配置文件。产品定义输入字段中的值是正确的,但是当我单击“将此配置与产品的定义插件同步”时,我收到无法找到插件的错误消息。当我尝试使用此配置文件将其导出为“Eclipse 产品”时,我收到相同的错误消息。这很奇怪。 那么需要更多详细信息,Product 字段中会显示什么?您是否尝试按 Product 旁边的 New... 以查看是否创建了一个新的 Product 是否有效? 我发现了错误。扩展的 ID 中有一个点“org.eclipse.core.runtime.applications”。因此,我无法在产品配置中使用该 ID。当我单击“新建”时,而不是使用由于点 Eclipse 而无法使用的 ID,只需将“产品”作为 ID。现在我必须调整包装,但它会正常工作。谢谢。

以上是关于为 Eclipse RCP 项目生成默认的 config.ini的主要内容,如果未能解决你的问题,请参考以下文章

去掉Eclipse RCP中的多余默认按钮(Next AnnotationPrevious AnnotationLast Edit Location)

构建支持 Eclipse 项目的 RCP

项目资源管理器未在 Eclipse rcp 应用程序中显示项目

无法使用 Tycho 和 Java 9 构建 Eclipse RCP 项目

Eclipse RCP 插件目标平台

Eclipse RCP 资源管理(自定义Project)一 (转)