我的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之间共享对象的正确方法是什么?
1条答案
按热度按时间f0brbegy1#
尝试将引擎实现为像uppercasefilter这样的服务提供者,然后在下一个模块中使用查找来获得实现。
https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html