【问题标题】:How to get same state of jar to multiple nbm modules?如何使多个 nbm 模块的 jar 状态相同?
【发布时间】:2021-03-19 23:23:14
【问题描述】:

我的 NetBeans 平台应用程序有两个 nbm 模块 A 和 B 以及一个 jar 项目。 NB 模块依赖于包含名为 Engine 的单例类的 JAR。 当我从模块 A 访问 Engine 类时,Engine 对象创建并返回。因此,当我从模块 B 调用相同的 Engine 类时,我希望已经创建了 Engine 对象。 但它会再次创建新的 Engine 对象并返回。

===jar 模块===

Class Engine
{
private static Engine single_instance= null;
private Engine(){}

public static Engine getInstance() 
    { 
        if (single_instance == null) 
{
            single_instance = new Singleton(); 
  }
        return single_instance; 
    } 

===模块A===

System.out.println(Engine.getInstance());// prints object address 1

===模块 B===

System.out.println(Engine.getInstance());// prints object address 2

我也想从模块 B 调用中获取相同的对象,因为 jar 是这两个模块之间的共享资源。 通过单个 jar 在两个 nbm 之间共享对象的正确方法是什么?

【问题讨论】:

    标签: java netbeans jar maven-nbm


    【解决方案1】:

    尝试像 UpperCaseFilter 一样将 Engine 实现为 ServiceProvider,然后在下一个模块中使用 Lookup 来获取实现。

    https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html

    【讨论】:

      猜你喜欢
      • 2012-09-21
      • 2016-06-12
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多