Maven测试类如何访问源类

时间:2016-09-23 14:48:14

标签: java maven

我有一个典型的maven项目,目录结构是:

src/main/java/SrcClass.java

public class SrcClass {
    public int srcMethod() {return 0;}
}

src/test/java/TestClass.java

@RunWith(JunitParamsRunner.class)
public class TestClass
@Test
public void testThis() {
     SrcClass srcClass = new SrcClass();
     int result = srcClass.srcMethod();
     assertEquals(result, 0);
}

当我像往常一样运行我的测试用例时使用:

mvn clean test -Dtest=TestClass#testMethod

它能够成功运行。我想知道它是如何工作的。我的意思是测试类和src类在不同的目录中,并不属于同一个jar。我需要知道这一点,因为我很难调试问题,需要更好地理解Maven和Spring的工作。

上面命令中的另一个问题是,是否同时清理源类和测试类的应用?

由于

1 个答案:

答案 0 :(得分:1)

访问类的方法是通过JAVA CLASSPATH。 Maven生成需要添加到系统CLASSPATH的文件夹,然后将它们注入到环境中。

将类文件所在的文件夹添加到CLASSPATH后,Java会负责查找类。

mvn clean适用于Maven在构建期间生成的所有文件夹。您可以在这里找到更多信息。 https://maven.apache.org/plugins/maven-clean-plugin/usage.html