4

我想在我的一个项目中使用 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 (execution: schema-generation, phase :进程类)”在该行。请注意,我在使用 maven 依赖插件的那一行没有收到此错误。

任何想法?

谢谢


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

4

1 回答 1

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>
于 2012-04-05T08:04:01.877 回答