【问题标题】:If I'm using NBMS to update my application, can I make it deactivate a module that was previously installed?如果我使用 NBMS 更新我的应用程序,我可以让它停用以前安装的模块吗?
【发布时间】:2014-05-10 05:00:18
【问题描述】:

我使用 Netbeans 框架构建了我们的应用程序。它工作得很好,我们有一组使用 NBM(NetBeans 模块文件)更新的模块。

当我们发布我们的产品时,我们的客户会安装它,它默认指向我们的更新中心网络服务器。它在那里提取当前的更新.xml,包含版本号等,并下载相关的 NBM 文件以更新模块。效果很好。

但是,我们有一个模块已经过时,我想推送一个更新来停用它,甚至卸载它。

我通过使用this.close() 立即关闭它完成了快速修复。它是一个顶级组件,因此默认打开,它基本上不是一个无用的模块。它最初会导致混乱。

对我来说这完全是 hack,在 Netbeans NBM 交付系统中必须有一种优雅的方式来实现这一点。

我可以提供一些代码,但我不确定什么是有用的。这是 OOB Netbeans 框架功能,所以没有太多要展示的内容。

谢谢

【问题讨论】:

    标签: java netbeans netbeans-platform netbeans-plugins


    【解决方案1】:

    一些想法:

    • 发布到 NetBeans 邮件列表之一,您可以在其中获得开发人员的答复 (https://netbeans.org/community/lists/index.html)
    • ModuleInstall 类添加到另一个模块,该模块将作为启动过程的一部分运行代码。搜索 ModuleInfo 表示应禁用的模块并调用 ModuleManager.disable()(可能需要依赖某些内部/非公共 API)
    • 保持模块原样,但根据它添加另一个模块并覆盖那里的顶部组件(默认情况下使其不可见,隐藏操作以显示它,...)

    【讨论】:

    • 太棒了!简洁且超级有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多