在HHH-8354中引入了Hibernate的新脏检查策略。我对使用(也是新的)maven compile time enhancement在我的项目中使用该改进感兴趣,但没有关于这些新功能的文档或解释。
据我所知,pom需要看起来像这样:
<plugins>
....
<plugin>
<groupId>org.hibernate.orm.tooling</groupId>
<artifactId>hibernate-enhance-maven-plugin</artifactId>
<version>4.3.5.Final</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
但由于某些原因,Eclipse无法识别enhance
目标。另外我想进一步配置它以排除文件夹和文件(其他配置伏都教帮助也会受到赞赏)
答案 0 :(得分:1)
我用this作为答案。评论还有助于解决相关问题和解释
答案 1 :(得分:0)
如果Eclipse不知道如何处理这个插件,首先要做的是设置首选项以便忽略它。但在我们的例子中,将会丢失源文件,这些文件本应由错误的插件生成。以下是解决这个问题的方法:
从命令行运行mvn package -DskipTests
。它应该编译没有错误(否则你必须先修复它们然后再次使用Eclipse)。然后返回Eclipse,选择项目文件并刷新(F5)。
您应该在目标文件夹中找到名为 generated_sources 的文件夹(可能有一个子文件夹,例如target/generated_sources/annotations
)。右键单击并将其添加到构建路径。
根据您的maven配置(例如,在多模块项目的情况下),您可能必须进一步配置构建路径,以便将项目与生成的源文件包含在引用这些源的项目的构建路径中
注意:请记住,在你的pom中添加任何东西来修复这些问题是一种不好的做法,因为它会影响团队中的其他人,他们不一定会将Eclipse用于他们的IDE。但是,如果您没有其他方法,则应考虑为IDE细节创建maven配置文件。