Java 从名称冲突的包导入

Java 从名称冲突的包导入,java,eclipse,mongodb,import,package,Java,Eclipse,Mongodb,Import,Package,我的参考库中有2个外部JAR 两个jar都有一个同名的包 有没有办法指定我想在导入中使用哪个jar,或者有没有办法解决这个问题 错误: 在使用该类的文件中,必须给出完整的类名 public com.mongodb.connection getDbDetail(){}实际上,有两种方法可以解决您的问题: 您可以从pom.xml中删除其中一个包的依赖项,这将 从引用的库中删除包 否则,如果您需要这两个包,那么您需要提供完整的 限定的包名 只要类名是唯一的,使用与com.mongodb相同的包名不会

我的参考库中有2个外部JAR

两个jar都有一个同名的包

有没有办法指定我想在导入中使用哪个jar,或者有没有办法解决这个问题

错误:

在使用该类的文件中,必须给出完整的类名


public com.mongodb.connection getDbDetail(){}

实际上,有两种方法可以解决您的问题:

  • 您可以从pom.xml中删除其中一个包的依赖项,这将 从引用的库中删除包
  • 否则,如果您需要这两个包,那么您需要提供完整的 限定的包名

  • 只要类名是唯一的,使用与
    com.mongodb
    相同的包名不会产生任何问题。如果两个JAR的类名与
    ConnectionString
    相同,但在不同的包中,则在引用相应类的任何地方都使用完全限定的类名,如
    com.mongodb.ConnectionString
    。如果两个JAR在相似的包中包含相同的类名,那么在访问特定方法时,您可能会得到类似于
    NoSuchMethodError
    的结果。

    为什么两者都需要?很可能,您只需要一个。只使用一个MongoDB驱动程序。选择一个并完全移除另一个罐子。