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

标签 java netbeans netbeans-platform netbeans-plugins

我使用 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/

相关文章:

java - 如何替换两个数字之间的每个空格?

java - NetBeans jFrames不起作用(仅显示加载中……)

java - Android 初学者 : java. lang.NullPointerException

java - 如何从 Activity 中调用 fragment 内的方法?

java - Angular - 从 java 捕获新行(\n)

java - (缩放中心)如何将 Netbeans RCP 场景滚动到给定位置?

java - 将新模块添加到正在运行的应用程序 NetBeans Platform

Java 7u7 setLookAndFeel 不起作用?

java - 如何在netbeans中运行Maven JME项目?

Java UI 项目外观 FlatLaf