当前位置: 首页 > 知识库问答 >
问题:

Hibernate3 Maven插件的生命周期问题

东方玉泽
2023-03-14

我想在我的一个项目中使用Hibernate3 maven插件。但是,因为m2e没有生命周期配置器,我需要配置生命周期插件来忽略插件的执行。但是,我也使用了m2e AFAIK不支持的maven依赖插件。

所以,我的生命周期插件的配置是:

<plugin>
    <groupId>org.eclipse.m2e</groupId>
    <artifactId>lifecycle-mapping</artifactId>
    <configuration>
        <lifecycleMappingMetadata>
            <pluginExecutions>
                <pluginExecution>
                    <pluginExecutionFilter>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-dependency-plugin</artifactId>
                            <versionRange>[2.0,)</versionRange>
                            <goals>
                                <goal>copy-dependencies</goal>
                            </goals>
                    </pluginExecutionFilter>
                    <action>
                        <ignore />
                    </action>
                </pluginExecution>
                <pluginExecution>
                    <pluginExecutionFilter>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>hibernate3-maven-plugin</artifactId>
                            <versionRange>[3.0,)</versionRange>
                            <goals>
                                <goal>hbm2ddl</goal>
                            </goals>
                    </pluginExecutionFilter>
                    <action>
                        <ignore />
                    </action>
                </pluginExecution>
            </pluginExecutions>
        </lifecycleMappingMetadata>
    </configuration>
</plugin>

问题是,当我在我的项目中使用Hibernate3插件时,我会在行中出现错误插件执行未被生命周期配置覆盖:org.codehaus.mojo: hibernate3-maven-plugin: 3.0: hbm2ddl(执行:模式生成,阶段:过程类)。请注意,我在使用maven依赖插件的行中没有得到这个错误。

知道吗?

谢谢

编辑:Hibernate3插件的hbm2ddl目标是绑定到流程类阶段。我已将阶段更改为打包(只是为了尝试),但没有出现错误。有什么解释吗?hbm2ddl目标应该绑定到哪个阶段?

共有1个答案

何长恨
2023-03-14

您必须添加一个阶段,这意味着您必须增强配置,如下所示:

 <pluginExecutionFilter>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>hibernate3-maven-plugin</artifactId>
   <versionRange>[3.0,)</versionRange>
   <phase>process-classes</phase>
   <goals>
     <goal>hbm2ddl</goal>
   </goals>
 </pluginExecutionFilter>
 类似资料:
  • 这个页面中:检验相关、检查相关是两个选项卡,点击某一个,会默认按七天去接口拿数据,也就是说这个页面一打开,就需要调用数据叫下面的数据显示,我想要的效果是第一次打开会调数据拿数据,如果去其它页面再回到这个页面会就保留着之前的数据,不再去重新调用,除非客户做了某个操作再去调数据,这个应该用到哪个生命周期,我试了onReady好像也没行。

  • 一般来说,一个组件类由 extends Component 创建,并且提供一个 render 方法以及其他可选的生命周期函数、组件相关的事件或方法来定义。 {% include './share/simple-component.md' %} getInitialState 初始化 this.state 的值,只在组件装载之前调用一次。 如果是使用 ES6 的语法,你也可以在构造函数中初始化状态,

  • 生命周期事件 There are two module lifecycle events OnModuleInit and OnModuleDestroy. You should use them for all the initialization stuff and avoid to work in the constructor. The constructor should only be

  • 我在开始新活动时遇到了一些问题。在我的应用程序中,我设置了侦听意图的广播接收器(屏幕关闭)。当屏幕关闭时,我的应用程序应该开始新活动(当然在某些情况下。我没有制作垃圾邮件应用程序)。但有时不是。 我在清单中声明了活动“singleTop”,所以我也重写了“onNewIntent”方法。(我认为这很重要)但事情是这样的。 当手机进入睡眠状态并且满足某些条件时,屏幕上会出现两个图标(“我的活动”)。我

  • 注:本文档提供的生命周期指的是 Universal App 的生命周期,它依赖 rax-app 提供的 runApp方法。 App 级生命周期 launch  在 App 启动时触发 使用生命周期 你可以使用 rax-app 提供的 useAppLaunch 来注册 App 级别的生命周期。 示例: import { useAppLaunch } from 'rax-app'; useAppLa

  • 我们大致为WebAPplication设计了4个生命周期: 请求初始化其实就是从URL中解析提取出{module}, {action}, {method}; 然后再根据{module}, {action}, {method}找到对应的Controller文件; 然后再调用对应的{method},完了之后再发送响应。当然响应的过程中肯定是要顺带着解析下模板标签啦。 恩,这就完了,貌似感觉很简单啊。