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

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

我的netbeans平台应用程序有两个nbm模块a和b以及一个jar项目。nb模块依赖于包含名为engine的单例类的jar。当我从模块a访问引擎类时,引擎对象被创建并返回。所以当我从模块b调用相同的引擎类时,我期望已经创建了引擎对象。但它会再次创建新的引擎对象并返回。
===jar模块===

  1. Class Engine
  2. {
  3. private static Engine single_instance= null;
  4. private Engine(){}
  5. public static Engine getInstance()
  6. {
  7. if (single_instance == null)
  8. {
  9. single_instance = new Singleton();
  10. }
  11. return single_instance;
  12. }

===模块a===

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

===模块b===

  1. 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

相关问题