运行 自定义 post- 在 NBM 更新时安装代码
Running custom post-install code on NBM update
我正在尝试设置一个小的 post-update 挂钩来在我的模块更新时清理一些临时文件,但到目前为止我还没有找到正确的方法来执行此操作。
我已经尝试扩展和使用 ModuleInstall class,但不幸的是它似乎很生锈,它的方法 installed/uninstalled/updated 根本不起作用 - 它们实际上从不叫。 "restored" 方法确实有效,但这不是我想要的,因为每次启动时都会调用它。
我还尝试使用本手册定义一个 post-install 回调:http://wiki.netbeans.org/DevFaqNbmPostInstall,这可能是正确的方法,但我不能完全理解诚然,我的 java 知识有限。
我创建了一个 "main" 文件夹,其中有一个 "Updater" class 可以满足我在 main 方法中的需要。我还从示例中复制了 main.properties 文件并将 mainClass 更改为 Updater。然而,这显然是不够的,因为当我安装 NBM 时仍然没有调用 Updater。此外,当我在 netbeans 编辑器中打开我的 NBM 时,它无法像示例项目那样识别我的 "main" 文件夹。
我不知道我是否应该在 relativeClassPath 中指定一些东西,我也不知道如何测试我的 post-install class 是否运行,抛出一些错误或其他什么。有什么建议吗?
哇,真不敢相信我真的自己想出来了,但显然我做到了!
我突然想到,也许 netbeans 只是没有正确创建 NBM 而遗漏了我的主文件夹,因为它只是被窃听了。我试图从示例项目中创建一个新的 NBM 并猜猜是什么 - 它也没有用。所以我的下一步是将我的 NBM 文件重命名为 .zip,手动将我的 "main" 文件夹添加到存档中并将其重命名回 .nbm。这完成了工作,我的更新程序 class 现在被正确调用,我还发现 main.properties 中的选项确实是可选的,除了 mainClass。
希望这对以后的人有所帮助。我还刚刚提交了一份错误报告,可能会修复此问题:https://netbeans.org/bugzilla/show_bug.cgi?id=262580.
我正在尝试设置一个小的 post-update 挂钩来在我的模块更新时清理一些临时文件,但到目前为止我还没有找到正确的方法来执行此操作。
我已经尝试扩展和使用 ModuleInstall class,但不幸的是它似乎很生锈,它的方法 installed/uninstalled/updated 根本不起作用 - 它们实际上从不叫。 "restored" 方法确实有效,但这不是我想要的,因为每次启动时都会调用它。
我还尝试使用本手册定义一个 post-install 回调:http://wiki.netbeans.org/DevFaqNbmPostInstall,这可能是正确的方法,但我不能完全理解诚然,我的 java 知识有限。
我创建了一个 "main" 文件夹,其中有一个 "Updater" class 可以满足我在 main 方法中的需要。我还从示例中复制了 main.properties 文件并将 mainClass 更改为 Updater。然而,这显然是不够的,因为当我安装 NBM 时仍然没有调用 Updater。此外,当我在 netbeans 编辑器中打开我的 NBM 时,它无法像示例项目那样识别我的 "main" 文件夹。
我不知道我是否应该在 relativeClassPath 中指定一些东西,我也不知道如何测试我的 post-install class 是否运行,抛出一些错误或其他什么。有什么建议吗?
哇,真不敢相信我真的自己想出来了,但显然我做到了!
我突然想到,也许 netbeans 只是没有正确创建 NBM 而遗漏了我的主文件夹,因为它只是被窃听了。我试图从示例项目中创建一个新的 NBM 并猜猜是什么 - 它也没有用。所以我的下一步是将我的 NBM 文件重命名为 .zip,手动将我的 "main" 文件夹添加到存档中并将其重命名回 .nbm。这完成了工作,我的更新程序 class 现在被正确调用,我还发现 main.properties 中的选项确实是可选的,除了 mainClass。
希望这对以后的人有所帮助。我还刚刚提交了一份错误报告,可能会修复此问题:https://netbeans.org/bugzilla/show_bug.cgi?id=262580.