在netbeans中运行时静默禁用模块

时间:2014-08-20 12:42:19

标签: netbeans netbeans-platform netbeans-plugins

我正在开发一个Netbeans平台应用程序,它添加了一些模块。当我运行应用程序时,默认情况下会加载模块。有没有一种方法可以将模块的默认状态保持为Inactive,然后用户可以从应用程序中提供的插件工具激活所需的模块。如果是,请指导。

1 个答案:

答案 0 :(得分:1)

文档说支持已禁用的模块。

  

<强>启用

     

标准模块系统允许模块处于多种状态,   由外部配置控制:

     
      
  • 未知。模块根本不存在,或者JAR是   目前但其配置文件丢失或被屏蔽。
  •   
  • 已禁用(常规)。   该模块存在且已知但未加载。
  •   
  • 已启用(常规)。该   模块存在并加载。
  •   
  • 自动加载。如果是,将启用该模块   并且只有当一些常规启用的模块将其作为依赖项时才需要   (也许是间接的)。
  •   
  • 渴望。当且仅当启用该模块时   可以在不启用任何依赖项的情况下满足所有依赖项   额外的常规模块。
  •   
     

常规模块用于他们的时候   功能在某种程度上是可见的 - 只需启用 -   通常是因为他们进行了图层注册。从此   功能可能会或可能不会被要求它对于   用户或部署者保持对启用状态的控制。

     

Autoload模块用于库。如果没有&#34;客户&#34;的   图书馆,根本没有加载JAR的目的。只有当   一些常规模块需要它(直接,通过令牌等)   加载。

     

渴望的模块通常用于&#34;桥梁&#34;否则之间   独立的功能,表示为常规模块。   如果同时启用了这两个模块,则急切桥将为   好吧,使用一些可选服务集成它们。他们也可能是   用作通过其他渠道分发的常规模块的附加组件;要么   作为平台特定的模块,只能根据   操作系统令牌。

     

请注意,这些启用状态不是模块固有的,   这就是为什么它们没有在JAR中指明;他们是其中的一部分   部署。另一个模块系统可能不会使用它   区别。特别是,通过JNLP或OSGi部署的模块是   只是通过包含在部署集中来启用,或者   在容器的摆布下。

Module Enablement

方法1

如果您使用maven,我会尝试像这样配置插件。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>nbm-maven-plugin</artifactId>
    <version>3.13</version>
    <extensions>true</extensions>
    <configuration>
        <moduleType>disabled</disabled>
    </configuration>
</plugin>

方法2

如果这不起作用,请在src / main / nbm目录中创建一个名为module.xml的文件,并在其中添加以下行。

<?xml version="1.0" encoding="UTF-8"?>
<nbm>    
    <moduleType>disabled</moduleType>
</nbm>

然后使用清单文件注册模块xml。

OpenIDE-Module-Layer: ro/emilianbold/nbmagazine/tutorial/layer.xml

注意:如果我没有错,则从mvn-nbm-plugin 3.7开始不推荐使用module.xml。因此,如果您使用的是最新版本,则可能无效。对于最新版本,建议采用第一种方法。