gpt4 book ai didi

java - 使用 Maven 填充数据库

转载 作者:行者123 更新时间:2023-11-29 08:55:43 26 4
gpt4 key购买 nike

假设我在 Maven 中的标准配置是:

  • 编译、测试和打包 - 做他们正常的事情
  • 预集成测试:
    • 生成数据库模式脚本(maven-antrun-plugin with concat)
    • 在数据库(sql-maven-plugin)上运行这些脚本
    • 运行自定义 Java 程序以使用数据填充数据库(exec 或 antrun)
    • 从 jar 启动服务器(maven-antrun-plugin,因为 exec 不会 fork)
  • 集成测试:使用从 jar 运行的服务器运行测试
  • 后集成测试:停止服务器(执行)

在正常的执行路径下,它工作得很好(除此之外,Maven 插件排序中的模数错误)。

现在,我想要一个命令只生成和执行数据库模式脚本,另一个命令只运行 Java 程序来填充数据库。

到目前为止,我认为我可以将 install-schema、populate-db 和 start-jetty 放入它们自己的配置文件中,然后:

mvn pre-integration-test -Pinstall-schema

这很糟糕,因为它仍然会运行前面的所有阶段,我真的不想为它编译、测试和打包。

是否有可能以某种方式独立运行这些“东西”(几个插件执行,一个配置文件),忽略生命周期或跳过编译测试包?

最佳答案

是的,我认为您可以通过 Maven 配置文件的某些属性通过条件激活来做到这一点,例如:

<profile>
<id>install-schema</id>
<activation>
<property>doItPlz</property>
</activation>
</profile>
...

只有当给定的 doItPlz 属性存在时,这种配置文件才会被激活——因此您可以为构建、数据库初始化等创建一个配置文件。

然后将您必须使用的命令修改为:

mvn -DdoItPlz ...

希望对您有所帮助。

关于java - 使用 Maven 填充数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20347035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com