Java 相同包中的重复类,但只能导入其中一个
我正在开发一个遗留Java应用程序,并且正在调查为什么在工作区中使用的两个项目中存在重复类 因此project1和project2中的类都位于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
com.example.SomeClass
-包名和类名相同。
这就是import语句中包含的全部内容,我无法说明要从哪个包导入它。
但是,在Eclipse中的Java构建路径选项卡中,我可以看到添加了project1和project2
那么,它如何决定是导入
project1.com.example.SomeClass
,还是从project2.com.example.SomeClass
?共享同一包和名称的不同类的类优先级取决于默认的类加载器(除非您设置了不同的类加载器)。这是特定于实现的(取决于您使用的是OpenJDK、Oracle JDK等)
通常,您希望它使用在类路径中定义的优先级,但这不是强制性的。它由顺序决定:项目>属性:Java构建路径选项卡顺序和导出。