我们有一个基于 Eclipse 平台的软件,它记录了许多重要的消息。为了获取这些消息,我们有一个工具可以收集这些日志,将它们保存在一个 zip 文件中并删除旧日志。
现在我们想要,当用户启动我们的软件(通过单击可执行文件)时,我们的工具被执行,但在任何东西都已经被记录之前。但是,我们找不到解决方案。
到目前为止我们所做的尝试:
我们考虑将其打包到 OSGI 包中并强制它提前启动。这是不可能的(或不需要),因为在加载包之前,日志中已经有消息。
另一种尝试是使用可执行文件的-startup参数来启动我们的工具(它会自动运行),然后执行启动程序。但是,有两个问题:
我们无法启动该工具,我们得到一个NoSuchMethodError: run -exception。代码中既没有方法,我们也没有调用过这样的方法。
我们不知道如何启动Equinox-launcher。
有没有办法在加载 osgi 平台之前启动我们的工具?