将嵌套jar添加到类路径中
Java文档包含关于将嵌套jar添加到类路径中的注释。
要将JAR文件中的JAR文件中的类加载到类路径中,您必须编写自定义代码来加载这些类。
有很多工具可以做到这一点,比如这里和这里列出的工具。
如果您使用Maven,另一种选择是Shade Mojo。 它将爆炸所有JAR,允许其内容与您的代码一起打包。 它也具有其他魔力,比如将依赖关系移动到自定义包中以避免冲突和合并META-INF中找到的文件。
其中一个主要问题是,通常JAR会将工件暴露在完全相同的位置。 对于允许通过ServiceLoader进行扩展的(通常是JDK)系统,这可能会产生问题。 这些文件需要智能合并/连接。
另一个可能影响微妙的,可能导致错误的API是ClassLoader.getResources(String)。
如果您使用SecrutiyManager
,安全域可能会变得更加复杂。
tl; dr这是一个主要由ClassLoading API驱动的限制
链接地址: http://www.djcxy.com/p/65803.html