java—如何使多个nbm模块获得相同的jar状态?

exdqitrt  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(190)

我的netbeans平台应用程序有两个nbm模块a和b以及一个jar项目。nb模块依赖于包含名为engine的单例类的jar。当我从模块a访问引擎类时,引擎对象被创建并返回。所以当我从模块b调用相同的引擎类时,我期望已经创建了引擎对象。但它会再次创建新的引擎对象并返回。
===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之间共享对象的正确方法是什么?

f0brbegy

f0brbegy1#

尝试将引擎实现为像uppercasefilter这样的服务提供者,然后在下一个模块中使用查找来获得实现。
https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html

相关问题