先决条件
-
5.0 和 5.1 版本需要 JDK 7,5.2 及更高版本需要 JDK 8
-
Gradle(您不必在构建 Hibernate 之前在系统上安装 Gradle。您可以使用 gradle wrapper gradlew 来引导 Gradle 和构建。您可以在 Hibernate git 克隆的根目录中找到 gradlew)
获取源代码
git clone git://github.com/hibernate/hibernate-orm.git
您也可以在 GitHub 上浏览代码
构建任务
其他任务
您可以通过以下方式获取可用任务的完整列表
./gradlew --tasks --all
以下列出了一些重要的任务
-
build - 汇集(jar)并测试此项目
-
buildDependents - 汇集并测试此项目以及所有依赖于它的项目。所以,考虑在 hibernnate-entitymanager 中运行它,Gradle 会汇集并测试 hibernate-entitymanager 以及 hibernate-envers(因为 envers 依赖于 entitymanager)
-
classes - 编译主类
-
clean - 删除构建目录
-
jar - 使用所有已编译的类生成 jar 存档
-
testClasses - 汇集测试类
-
test - 运行单元测试
-
uploadArchives - 考虑 Maven 部署
-
install - 将项目 jar 安装到您的本地 Maven 缓存(即 ~/.m2/repository)
-
idea 或 eclipse - 为相应的 IDE 创建项目文件
Gradle wrapper
上面的示例使用 Gradle 包装器 (gradlew) 来运行不同的构建任务。使用包装器,您无需在构建源代码之前安装 Gradle。它还确保您使用的是 build.gradle 中指定的正确版本的 Gradle。但是,它需要您指定 gradlew 的路径。例如,如果您在 hibernate-core 模块中,您需要使用 `../gradlew`。避免这种情况的一种方法是向您的 `~/.bashrc`(假设您使用的是 Unix)添加一些自定义函数或别名。类似于以下内容
function gradleProjectRoot() { x=`pwd``; while [ "$x" != "/" ] ; do if [ `find "$x" -maxdepth 1 -name gradlew` ]; then echo "$x"; break; fi; x=`dirname "$x"`; done }
function gradlew() { `gradleProjectRoot`/gradlew $@ }
这样,您就可以在项目根目录的任何子目录中键入 gradlew,并执行正确的包装器脚本。如果您有更好的脚本,请告诉我们 :-)
Idea 设置
要创建 Idea 项目文件,您可以运行
./gradlew idea
对依赖项进行更改后,您需要清理项目文件并重新创建它们
./gradlew cleanIdea idea
另请参阅通用 Idea 设置信息 - IntelliJ 信息
Gradle 文档
-
您还可以在这个 博客 上找到很多 Gradle 提示