项目和maven依赖项中的相同类

时间:2013-03-12 10:42:00

标签: java maven

我有2个项目,比如项目A和项目B.项目A对项目B有Maven依赖项。两个项目在同一个包中都包含类Test

现在我导入时,

import com.my.package.Test;

从项目A中的另一个类,我认为(在运行时)它使用项目B中的Test类而不是同一项目中包含的类。

有谁知道这是否应该如何运作?

2 个答案:

答案 0 :(得分:4)

您不应该拥有具有相同FQN-s的类(完全限定名称,例如com.foo.MyTest)。重复的类只会导致这些问题。从两个工件之一中删除该类。然后使用maven-jar-plugin to create a test-jar artifact,这样您就可以在两个项目之间共享课程。

您还可以查看this SO answer

答案 1 :(得分:0)

第一个类加载器获胜。 maven中的类加载器顺序与依赖顺序相同, 但是你应该在不同的项目中拥有相同FQN的类。