Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当订购与需求不匹配时,如何处理maven生命周期_Maven - Fatal编程技术网

当订购与需求不匹配时,如何处理maven生命周期

当订购与需求不匹配时,如何处理maven生命周期,maven,Maven,我有一个maven项目,作为构建的一部分,它做两件事: 通过运行SQL脚本生成sqlite数据库。在我看来,数据库是一种资源,所以这样做的逻辑阶段是生成资源 生成源代码,这显然应该在生成源代码阶段完成 但是,我不能这样做,因为源代码是基于该数据库生成的,并且生命周期在生成资源之前运行生成源。很明显,我可以在同一阶段攻入两个球,但这对我来说似乎很肮脏。但是请注意,sqlite数据库仅用于生成源代码,不用于其他任何用途,尤其是它不会打包到最终的工件中 我该怎么做才能使项目正常运行并看起来正确 为

我有一个maven项目,作为构建的一部分,它做两件事:

  • 通过运行SQL脚本生成sqlite数据库。在我看来,数据库是一种资源,所以这样做的逻辑阶段是生成资源
  • 生成源代码,这显然应该在
    生成源代码
    阶段完成
但是,我不能这样做,因为源代码是基于该数据库生成的,并且生命周期在
生成资源
之前运行
生成源
。很明显,我可以在同一阶段攻入两个球,但这对我来说似乎很肮脏。但是请注意,sqlite数据库仅用于生成源代码,不用于其他任何用途,尤其是它不会打包到最终的工件中

我该怎么做才能使项目正常运行并看起来正确


为了更好地解释我试图实现的目标:我正在通过生成源,它需要一个现有的数据库来生成。但是,我不想在我的SCM中有一个二进制blob,所以我想动态生成该数据库。

使用另一个阶段,如
流程资源
,怎么样?在
流程资源中运行创建数据库和生成代码
?虽然IMHO看起来比坚持使用
generate sources
generate resources
更脏,但从技术上讲,这两种操作都不适合
流程资源
。是的,我明白了,但您需要确保使用两个不同的生命周期阶段来获得可靠的结果。