我有2个项目,比如项目A和项目B.项目A对项目B有Maven依赖项。两个项目在同一个包中都包含类Test
。
现在我导入时,
import com.my.package.Test;
从项目A中的另一个类,我认为(在运行时)它使用项目B中的Test类而不是同一项目中包含的类。
有谁知道这是否应该如何运作?
答案 0 :(得分:4)
您不应该拥有具有相同FQN-s的类(完全限定名称,例如com.foo.MyTest
)。重复的类只会导致这些问题。从两个工件之一中删除该类。然后使用maven-jar-plugin
to create a test-jar artifact,这样您就可以在两个项目之间共享课程。
您还可以查看this SO answer。
答案 1 :(得分:0)
第一个类加载器获胜。 maven中的类加载器顺序与依赖顺序相同, 但是你应该在不同的项目中拥有相同FQN的类。