在我的项目中,我依赖于org.slf4j-api:1.7.2and org.eclipse.equinox:org.eclipse.equinox.http.jetty:2.0.100。
Jetty 团队中的某org.slf4j.Logger个人将这两个类复制到org.slf4j.LoggerFactory了他们的 JAR 中。谢谢你
现在我org.slf4j.Logger 在 classpath 上有两次。只要它们的公共 API 相同,这不是一个大问题。
如何编写一个测试来确保两个类文件的公共 API 相同?
编辑用反射检查类看起来是一个明显的解决方案,但我如何加载它们?有两种资源org/slf4j/Logger.class可用。如何将原始.class文件转换为java.lang.Class我可以检查的文件?
Class.forName()在我的情况下不起作用,因为那只会给我两者之一(我什至不知道哪一个)。