Hibernate3 Maven插件的生命周期问题

时间:2012-04-05 07:44:09

标签: eclipse maven maven-3 m2e

我想在我的一个项目中使用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(执行:schema-生成,阶段:流程类)“在线。请注意,我在使用maven依赖插件的行中没有出现此错误。

有什么想法吗?

由于


编辑: Hibernate3插件的hbm2ddl目标是绑定到进程类阶段。我已经将阶段改为打包(只是为了尝试)而且我没有得到错误。任何解释? hbm2ddl目标应该绑定到哪个阶段?

1 个答案:

答案 0 :(得分:1)

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

 <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>