我有一个大型 Maven 项目,其中有几个模块。当我想从一个模块运行 JUnit 测试时,我在包含所有模块的目录中运行“mvn -Dtest=NameOfTest test”。当我运行这个命令时,Maven 会遍历每个模块并尝试编译它(尽管它已经编译),这涉及复制一堆文件并增加测试的总时间。Maven surefire 插件的“测试”命令似乎执行了测试之前的所有步骤。我想知道是否有一种方法可以只执行测试步骤,而不必为所有尝试的文件编译和复制而烦恼。
以下是测试开始前的一些输出:
[INFO]
[INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ module1 ---
[INFO] Test Source directory: <directory in module1 with some generated sources> added.
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ module1 ---
[debug] execute contextualize
[INFO] Copying 108 resources
[INFO] Copying 1113 resources
[INFO] Copying 1 resource
[INFO]
它对每个其他模块重复此操作。总而言之,它需要一两分钟才能真正开始测试。有谁知道让测试运行而无需事先进行所有编译的方法?如果我应该提供更多信息,请告诉我。