在运行集成测试之前,我需要设置数据库。这包括生成SQL方案(基于JPA注释),将其保存到文件并将其与其他资源一起复制到目录,该目录稍后将用于创建war文件(将部署到Jetty)。
因此,我使用以下hibernate3-maven-plugin
配置生成SQL-scheme:http://pastebin.ubuntu.com/606229/
要将结果hsql-scheme.sql
从src/env/test/WEB-INF/classes
复制到target/
,将其打包到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
。
提前致谢!
答案 0 :(得分:0)
This question帮助我修复了架构的创建:
在hibernate3:hbm2ddl
阶段致电prepare-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
不像以前一样空。