假设我在 Maven 中的标准配置是:
- 编译,测试和打包 - 做他们正常的事情
- 预集成测试:
- 生成数据库模式脚本(maven-antrun-plugin with concat)
- 在 DB (sql-maven-plugin) 上运行这些脚本
- 运行自定义 Java 程序以使用数据填充 DB(exec 或 antrun)
- 从 jar 启动服务器(maven-antrun-plugin,因为 exec 不会分叉)
- 集成测试:使用从 jar 运行的服务器运行测试
- 集成后测试:停止服务器(执行)
使用正常的执行路径,它工作得很好(除此之外,Maven 插件排序中的模错误)。
现在,我想要一个命令来只生成和执行 DB 模式脚本,另一个命令只运行 Java 程序来填充数据库。
到目前为止,我认为我可以将 install-schema、populate-db 和 start-jetty 放在他们自己的配置文件中,然后:
mvn pre-integration-test -Pinstall-schema
这很糟糕,因为它仍然会运行所有前面的阶段,我真的不想为它编译、测试和打包。
是否有可能以某种方式独立运行这些“东西”(几个插件执行,一个配置文件),忽略生命周期或跳过编译测试包?