如果我使用NBMS更新我的应用程序,是否可以让它停用以前安装的模块?

时间:2014-05-09 15:39:30

标签: java netbeans netbeans-platform netbeans-plugins

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

当我们发货时,我们的客户会安装它,它默认指向我们的更新中心Web服务器。在那里它拉出当前的updates.xml,包含版本号等,并下载相关的NBM文件来更新模块。效果很好。

但是,我们有一个模块,我希望推出一个可以停用它的更新,甚至可以卸载它。

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

对我而言,这完全是黑客攻击,必须有一种优雅的方式来实现Netbeans NBM传输系统。

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

谢谢

1 个答案:

答案 0 :(得分:1)

一些想法:

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