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

标签 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”中时,服务加载器机制不会发现它的服务。

知道如何让它发挥作用吗?

干杯, 保罗

最佳答案

最后我用Capsule包装代替One-jar解决了这个问题

http://github.com/puniverse/capsule

享受

关于java - 如何将 Java ServiveLocator 与 One-Jar 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095200/

相关文章:

java - Maven 中不同模块之间的 ServiceLoader 和 META-INF/服务生成器?

java - OneJar URL 有什么问题吗?

Maven Java 应用程序在从命令行而不是从 Netbeans IDE 中运行时崩溃

java - OneJar 包括 Dr Tuffs 类(class)

java - 重复的 Java 构造函数(重构或生成)

java - Nutch Crawler错误:Hadoop路径权限

Java的ServiceLoader和测试资源

java.lang.NoClassDefFoundError : net. sf.jasperreports.engine.util.JRStyledTextParser(初始化失败)

java - 多任务处理和进度条

java - ServiceLoader.next 导致 NoClassDefFoundError