我使用 Netbeans 框架构建了我们的应用程序。它运行良好,我们有一组使用 NBM(NetBeans 模块文件)更新的模块。
当我们发货时,我们的客户会安装它,并且它默认指向我们的更新中心 Web 服务器。它会在那里提取当前的updates.xml,其中包含版本号等,并下载相关的NBM 文件来更新模块。效果很好。
但是,我们有一个模块已退出,我想推送一个更新来停用它,甚至卸载它。
我通过使用 this.close()
立即关闭它来完成快速修复。它是一个顶级组件,因此默认打开,它基本上是一个无用的模块,对吧。它最初会造成困惑。
对我来说,这完全是一种黑客行为,必须有一种优雅的方式在 Netbeans NBM 交付系统中实现这一点。
我可以提供一些代码,但我不确定什么有帮助。这是 OOB Netbeans 框架功能,因此无需展示太多内容。
谢谢
最佳答案
一些想法:
- 发布到 NetBeans 邮件列表之一,您可以在其中获得开发人员的答复 ( https://netbeans.org/community/lists/index.html )
- 将
ModuleInstall
类添加到另一个模块,该模块将运行代码作为启动过程的一部分。搜索表示应禁用的模块的ModuleInfo
并调用 ModuleManager.disable() (可能需要依赖于某些内部/非公共(public) API) - 保持模块不变,但添加另一个依赖于它的模块并覆盖那里的顶部组件(默认情况下使其不可见,隐藏操作以显示它,...)
关于java - 如果我使用 NBMS 更新我的应用程序,我可以让它停用之前安装的模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568687/