Hibernate + Gradle 指南

发布者:    |       讨论

Hibernate 4(GitHub上的master分支)已切换到使用Gradle进行构建。主要是我喜欢Git和Gradle的押韵... :)

Gradle 用户指南显然是一个很好的参考。我们使用的大部分内容都是由JavaPlugin引入的

gradle -t 是一个很方便的了解项目可用任务的工具。它会告诉你项目中所有可用的 主要 任务。然而请注意,它不会深入到子项目。例如,假设你处于Hibernate项目检出的根目录,如果你运行 gradle -t,你将看不到与编译相关的任务,这显然是必不可少的 :) 在Gradle中,当你对项目运行任务时,该任务请求会传递给任何子项目。因此,我建议你四处cd并执行 gradle -t,以了解可用的任务。另一个选择是运行 gradle -t --all,它将显示该项目的所有任务;但请注意,这可能非常冗长。

话虽如此,以下是一个您将使用的最常见任务的列表

  1. clean - 删除构建目录。
  2. build - 构建(jar)并测试此项目。
  3. buildDependents - 构建并测试此项目及其所有依赖项目。所以考虑在hibernnate-entitymanager..中运行此任务。Gradle会构建和测试hibernate-entitymanager,以及hibernate-envers,因为envers依赖于entitymanager。见下文。
  4. classes - 编译主类
  5. testClasses - 编译测试类。
  6. test - 运行此项目的测试
  7. jar - 生成包含所有编译类的jar存档。
  8. uploadArchives - 类似于Maven deploy
  9. 安装 - 我还在所有项目中启用了 MavenPlugin,这增加了此任务。 安装 将项目jar安装到本地maven仓库缓存(通常为 ~/.m2/repository),这对于使用Maven构建和使用Gradle构建的项目之间进行互操作非常重要(否则您需要将您的工件推送到Nexus以 共享

关于 构建构建依赖项 的说明。Gradle与Maven不同,在处理模块间的依赖关系时表现更好。在Gradle中,如果我进入hibernate-entitymanager并执行构建,Gradle会自动尝试为我构建hibernate-core(如果需要的话)。对于 构建 它会停止在这里。如果您还想重新编译依赖于您的更改的内容,您应该使用 构建依赖项。所以从hibernate-entitymanager再次,如果我这次运行 构建依赖项,它将首先构建hibernate-core,然后是hibernate-entitymanager,最后是hibernate-envers。


回到顶部