gpt4 book ai didi

eclipse - P2 headless 更新不起作用

转载 作者:行者123 更新时间:2023-12-02 02:36:07 25 4
gpt4 key购买 nike

我已经采用了 org.eclipse.equinox.p2.examples.rcp.prestartupdate 项目并对其进行了调整以用于我的 RCP 应用程序。然后我设置了一个更新存储库,作为我每晚构建的一部分进行更新。

当我打开我的应用程序时,它会像更新一样进行操作 - 它找到更新站点,为每个包正确生成卸载和安装操作数,并说它已完成且没有错误。问题是,即使配置文件已更新(后续运行状态没有更新),插件也从未真正安装在插件文件夹中。下次我的构建运行时,它会正确识别有更新,但同样的事情再次发生。

我花了几天时间调试,唯一看起来不寻常的事情(不是我完全理解发生了什么)是在最后的配置阶段,没有一个 TouchpointData 对象有任何指令,所以它看起来就像配置正在做它应该做的那样。

我真的不知道下一步该去哪里,想看看是否还有其他人有任何想法。

更新:

我终于明白是怎么回事了。

当我在没有生成元数据存储库的情况下构建我的产品时,问题就开始了。通过 Eclipse 构建时,我没有选中导出产品向导中的“生成元数据存储库”,因为我不需要 p2 存储库,只需要产品。问题是,如果不检查该按钮,产品不会在启用 P2 时安装,从而导致副作用,例如不生成配置文件等。

我试图通过在代码中手动创建一个配置文件来弥补这一点,后来我发现这是一个非常糟糕的主意。我最初的问题是因为我的个人资料设置不正确造成的。

一旦我开始使用“生成元数据存储库”导出产品,检查更新是否开始正确安装新插件。

我现在遇到的问题是,虽然插件安装正确,但可执行文件已损坏,我无法再启动我的应用程序。我正在通过 Hudson 构建我的更新站点,但在我使用 Eclipse 导出产品向导时出现的二进制文件夹丢失了。我假设这就是现在的问题所在。

知道为什么二进制文件不会在我的 headless PDE 构建中构建吗?

也想通了。我原以为我所需要的只是我想要构建的平台的单独启动器插件。由于我试图了解我正在将插件一个一个地复制到构建服务器的过程。事实证明,在您需要具有增量包中的 org.eclipse.equinox.executable 功能的构建中包含特定于平台的二进制文件。一旦我将它添加到构建中,二进制文件就开始出现在输出中。对于二进制文件,更新机制完全按预期工作。

最佳答案

我原以为我所需要的只是我想要构建的平台的单独启动器插件。由于我试图了解我正在将插件一个一个地复制到构建服务器的过程。事实证明,在您需要具有增量包中的 org.eclipse.equinox.executable 功能的构建中包含特定于平台的二进制文件。一旦我将它添加到构建中,二进制文件就开始出现在输出中。对于二进制文件,更新机制完全按预期工作。

关于eclipse - P2 headless 更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com