Java 如何将包名映射到jar文件中的不同包名

Java 如何将包名映射到jar文件中的不同包名,java,Java,假设我有一个jar foo-shaded.jar,它包含类shaded.example.foo。是否可以创建一个映射(可能在MANIFEST.MF文件中),这样当JVM尝试从Foo-shaded.jar加载example.Foo时,就会加载shaded.example.Foo?否,不可能这样做。使用自定义的ClassLoader在加载时重写类的字节码,您可能会获得类似的效果,但这将是一个棘手、混乱的过程,并且会出现各种有趣的故障模式。如果您有更大的目标,那么也许我们可以建议一种替代方法;只是想知

假设我有一个jar foo-shaded.jar,它包含类
shaded.example.foo
。是否可以创建一个映射(可能在MANIFEST.MF文件中),这样当JVM尝试从Foo-shaded.jar加载
example.Foo
时,就会加载
shaded.example.Foo

否,不可能这样做。使用自定义的
ClassLoader
在加载时重写类的字节码,您可能会获得类似的效果,但这将是一个棘手、混乱的过程,并且会出现各种有趣的故障模式。如果您有更大的目标,那么也许我们可以建议一种替代方法;只是想知道这种方法在Java中是否可行。我想不会,没关系。谢谢你的确认!也许你正在寻找maven shade插件?