Class 冲突:两个相同的 jar 文件 类
Class conflict: two jar files with the same classes
我有两个 jar 文件,它们的 Util class 名称相似,但方法签名不同。
在jar1 中,我有一个main 方法必须使用在jar1 中Util class 中的方法。 JVM 正在链接到 jar2.
中的 Util class
如何解决此 class 冲突?
如果两个 jar 文件都加载到同一个 classloader 中,则无法确定将加载哪个 class。处理这个问题的唯一方法是隔离它们,这样只有其中一个被加载到您正在使用的 classloader 中。
你可以设置一个 classloader 并且只加载你想要从中获取 class 的 jar,但是确保 classes 是在你的道路上独一无二。
通常通过使用适当的包名来避免这种情况,这样它们就不同了。
在极端情况下,您无法选择更改 jar 文件,
有一个选项 "bootclasspath",您可以在其中指定首先加载的 类。
我有两个 jar 文件,它们的 Util class 名称相似,但方法签名不同。
在jar1 中,我有一个main 方法必须使用在jar1 中Util class 中的方法。 JVM 正在链接到 jar2.
中的 Util class如何解决此 class 冲突?
如果两个 jar 文件都加载到同一个 classloader 中,则无法确定将加载哪个 class。处理这个问题的唯一方法是隔离它们,这样只有其中一个被加载到您正在使用的 classloader 中。
你可以设置一个 classloader 并且只加载你想要从中获取 class 的 jar,但是确保 classes 是在你的道路上独一无二。
通常通过使用适当的包名来避免这种情况,这样它们就不同了。
在极端情况下,您无法选择更改 jar 文件, 有一个选项 "bootclasspath",您可以在其中指定首先加载的 类。