除非有充分的理由,否则不应覆盖
<sourceDirectory>POM
<build>元素中的设置。此属性确定Maven在何处查找 非测试
代码。此属性的默认值为
src/main/java。该
<testSourceDirectory>属性设置 测试
代码的路径(默认为
src/test/java。通过将设置
<sourceDirectory>为simple
src,Maven认为整个目录包含主应用程序代码。由于该
src目录包含
src/test/java,因此Maven然后尝试将测试代码编译为主应用程序的一部分。
这很重要,因为在编译主应用程序时(在此
compile阶段中),Maven忽略了具有
test范围的依赖项。
test-compile在主编译之后,测试代码在单独的阶段(阶段)中进行编译。
因此,由于Maven尝试将测试代码作为主应用程序的一部分进行编译,因此它省略了
junit依赖性,并且它们在类路径中不可用。这里的解决方案是根本不指定
<sourceDirectory>POM中的元素。



