如何将Java ServiveLocator与One-Jar一起使用

pdi*_*aso 5 java serviceloader onejar

我使用One-Jar工具将我的应用程序打包在一个jar中:

http://one-jar.sourceforge.net/

它有效,但我在依赖模块中实现的服务存在问题,该模块在一个单独的jar中实现.

该模块使用标准的Java ServiceLoader机制来提供其服务,即jar有一个文件META-INF/services/package.name.ServiceProviderClass,它指定要实例化的服务具体类.

但是当这个jar嵌入在由One-Jar创建的应用程序"fat-jar"中时,服务加载器机制不会发现它.

知道如何让它工作吗?

干杯,保罗

pdi*_*aso 2

最后我通过使用胶囊包装代替一罐包装解决了这个问题

http://github.com/puniverse/capsule

享受