0

在运行集成测试之前,我需要设置数据库。这包括生成 SQL 方案(基于 JPA 注释),将其保存到文件并将其与其他资源一起复制到目录,该目录稍后将用于创建 war 文件(将部署到 Jetty)。

因此,我使用以下hibernate3-maven-plugin配置生成 SQL 方案: http: //pastebin.ubuntu.com/606229/

要将结果复制hsql-scheme.sqlsrc/env/test/WEB-INF/classestarget/其打包到 WAR 文件的位置,我使用以下命令:http: //pastebin.ubuntu.com/606230/

但是当我运行时mvn verify -P test(是的,所有这些代码都在单独的配置文件中)我得到了:http: //pastebin.ubuntu.com/606231/

如您所见hibernate3:hbm2ddl,不会生成任何 SQL 方案并且生成的文件是空的(在其他情况下,我们也会在控制台上看到它)。这是一个问题。

问题的根源(据我所知)是因为hibernate3:hbm2ddl invokes the execution of the lifecycle phase process-resources prior to executing itself.

提前致谢!

4

1 回答 1

0

这个问题帮助我修复了架构的创建:

  • hibernate3:hbm2ddlprepare-package阶段调用而不是generate-resources

  • 将结果hibernate3:hbm2ddl直接放到target/${build.finalName}/WEB-INF/classes

所以,现在我仍然有hibernate3:hbm2ddl invokes the execution of the lifecycle phase process-resources prior to executing itself警告,但文件target/${build.finalName}/WEB-INF/classes/hsql-scheme.sql不像以前那样为空。

于 2011-05-14T11:22:47.063 回答