生成 SQL 方案并将其复制到 WAR 文件中:插件问题依赖关系

发布于 2024-11-06 08:29:27 字数 846 浏览 3 评论 0原文

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

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

复制生成的 hsql-scheme.sql src/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 在执行自身之前调用生命周期阶段进程资源的执行。

提前致谢!

Before running integration tests I need to setup database. This include generating SQL-scheme (based on JPA-annotations), save it to file and copy it with other resources to directory which later will be used for creating war file (which will be deployed to Jetty).

So, I use following hibernate3-maven-plugin configuration for generating SQL-scheme: http://pastebin.ubuntu.com/606229/

To copy resulting hsql-scheme.sql from src/env/test/WEB-INF/classes to target/ where it will be packaged to WAR-file I use following:
http://pastebin.ubuntu.com/606230/

But when I run mvn verify -P test (yes, all these code inside separate profile) I've got: http://pastebin.ubuntu.com/606231/

As you can see hibernate3:hbm2ddl does not generate any SQL-scheme and resulting file is empty (in other case we will see it on console also). And this is a problem.

The root of problem (as I understand) is because hibernate3:hbm2ddl invokes the execution of the lifecycle phase process-resources prior to executing itself.

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

葬心 2024-11-13 08:29:27

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

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

  • 放置 hibernate3:hbm2ddl< 的结果/code> 直接到 target/${build.finalName}/WEB-INF/classes

所以,现在我仍然有 hibernate3:hbm2ddl 在执行自身之前调用生命周期阶段进程资源的执行警告,但是 file target/${build.finalName}/WEB-INF/classes/hsql-scheme.sql 不像以前一样为空。

This question helped me to fix schema' creation:

  • call hibernate3:hbm2ddl at prepare-package phase instead of generate-resources

  • put result of hibernate3:hbm2ddl directly to target/${build.finalName}/WEB-INF/classes

So, now I still have hibernate3:hbm2ddl invokes the execution of the lifecycle phase process-resources prior to executing itself warning, but file target/${build.finalName}/WEB-INF/classes/hsql-scheme.sql not empty as before.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文