Java documentation包含有关将嵌套jar添加到类路径中的注释。
将JAR文件中的JAR文件中的类加载到类路径中, 你必须编写自定义代码来加载这些类。
有很多工具可以执行此操作,例如here和here列出的工具。
答案 0 :(得分:0)
如果您使用Maven,另一个选项是Shade Mojo。它将爆炸所有JAR,允许其内容与您的代码打包在一起。它还具有其他魔力,例如将依赖项移动到自定义包中以避免冲突并合并META-INF中的文件。
其中一个主要问题是,JAR通常会在完全相同的位置暴露工件。对于允许通过ServiceLoader进行扩展的(通常是JDK)系统,这可能会有问题。这些文件需要智能地合并/连接。
可能以微妙的,可能导致错误的方式实现的另一个API是ClassLoader.getResources(String)。
如果您使用SecrutiyManager
,安全域可能会变得更复杂。
tl; dr 这是一个主要由ClassLoading API驱动的限制