Java 相同包中的重复类,但只能导入其中一个

Java 相同包中的重复类,但只能导入其中一个,java,eclipse,project-structure,buildpath,Java,Eclipse,Project Structure,Buildpath,我正在开发一个遗留Java应用程序,并且正在调查为什么在工作区中使用的两个项目中存在重复类 因此project1和project2中的类都位于com.example.SomeClass-包名和类名相同。 这就是import语句中包含的全部内容,我无法说明要从哪个包导入它。 但是,在Eclipse中的Java构建路径选项卡中,我可以看到添加了project1和project2 那么,它如何决定是导入project1.com.example.SomeClass,还是从project2.com.exa

我正在开发一个遗留Java应用程序,并且正在调查为什么在工作区中使用的两个项目中存在重复类

因此project1project2中的类都位于
com.example.SomeClass
-包名和类名相同。 这就是import语句中包含的全部内容,我无法说明要从哪个包导入它。 但是,在Eclipse中的Java构建路径选项卡中,我可以看到添加了project1project2


那么,它如何决定是导入
project1.com.example.SomeClass
,还是从p
roject2.com.example.SomeClass

共享同一包和名称的不同类的类优先级取决于默认的类加载器(除非您设置了不同的类加载器)。这是特定于实现的(取决于您使用的是OpenJDKOracle JDK等)

通常,您希望它使用在类路径中定义的优先级,但这不是强制性的。

它由顺序决定:项目>属性:Java构建路径选项卡顺序和导出。