该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用Spring Data Neo4j 8.0.0spring-doc.cadn.net.cn

构建Spring Data Neo4j

要求

关于JDK版本

选择JDK 17是一个受多种因素影响的决定spring-doc.cadn.net.cn

  • SDN是Spring Data项目。 Spring Data Commons 的基线是 JDK 17,Spring Framework 的基线也是如此。 因此,保持JDK 17的基准是理所当然的。spring-doc.cadn.net.cn

运行构建

以下部分是替代方案,并大致按工作量增加排序。spring-doc.cadn.net.cn

所有构建都需要本地项目副本:spring-doc.cadn.net.cn

克隆SDN
$ git clone [email protected]:spring-projects/spring-data-neo4j.git

在继续之前,请核实你本地安装的JDK版本。 输出应当类似:spring-doc.cadn.net.cn

核实你的JDK
$ java -version
java version "18.0.1" 2022-04-19
Java(TM) SE Runtime Environment (build 18.0.1+10-24)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1+10-24, mixed mode, sharing)

安装了 Docker

使用默认图片

如果你还没安装 Docker,可以去 Docker Desktop。 简而言之,Docker 是一个帮助你在所谓容器中运行轻量级软件镜像的工具,利用作系统级虚拟化。spring-doc.cadn.net.cn

我们的构建使用 Testcontainers Neo4j 来启动数据库实例。spring-doc.cadn.net.cn

在Linux / macOS上用默认设置构建
$ ./mvnw clean verify

在Windows机器上,使用spring-doc.cadn.net.cn

在Windows上用默认设置构建
$ mvnw.cmd clean verify

输出应该是类似的。spring-doc.cadn.net.cn

使用另一张图片

可用的映像版本可以通过如下环境变量进行配置:spring-doc.cadn.net.cn

使用不同的 Neo4j Docker 镜像构建
$ SDN_NEO4J_VERSION=5.3.0-enterprise SDN_NEO4J_ACCEPT_COMMERCIAL_EDITION=yes ./mvnw clean verify

我们这里使用的是5.3.0企业版,并且也接受了许可协议。spring-doc.cadn.net.cn

如果内联指定环境变量不适合你,建议参考你的作系统或shell手册,了解如何定义环境变量。spring-doc.cadn.net.cn

对本地运行的数据库

在本地运行的数据库中运行会清除其全部内容。

基于本地运行的数据库构建更快,因为它不会每次重启容器。 我们在开发过程中经常这样做。spring-doc.cadn.net.cn

你可以在我们的下载中心免费获取Neo4j的副本。spring-doc.cadn.net.cn

请下载适用于您作系统的版本,并按照说明启动。 一个必要的步骤是打开浏览器,打开数据库后进入localhost:7474,并更改默认密码neo4j找你喜欢的东西。spring-doc.cadn.net.cn

之后,你可以通过指定本地螺栓网址:spring-doc.cadn.net.cn

使用本地运行的数据库构建
$ SDN_NEO4J_URL=bolt://localhost:7687 SDN_NEO4J_PASSWORD=verysecret ./mvnw clean verify

控制构建的环境变量总结

名称 默认值 意义

SDN_NEO4J_VERSIONspring-doc.cadn.net.cn

5.3.0spring-doc.cadn.net.cn

Neo4j docker 镜像的版本,请参见 Neo4j Docker 官方镜像spring-doc.cadn.net.cn

SDN_NEO4J_ACCEPT_COMMERCIAL_EDITIONspring-doc.cadn.net.cn

spring-doc.cadn.net.cn

部分测试可能需要企业版的Neo4j。 我们会在内部基于企业版构建和测试,但不会强制你 如果你不想接受许可,那就接受。spring-doc.cadn.net.cn

SDN_NEO4J_URLspring-doc.cadn.net.cn

未设定spring-doc.cadn.net.cn

设置此环境可以连接到本地运行的 Neo4j 实例。 我们在开发过程中经常用到这个。spring-doc.cadn.net.cn

SDN_NEO4J_PASSWORDspring-doc.cadn.net.cn

未设定spring-doc.cadn.net.cn

密码neo4j实例的用户配置为SDN_NEO4J_URL.spring-doc.cadn.net.cn

你需要同时设置SDN_NEO4J_URLSDN_NEO4J_PASSWORD使用本地实例。

棋盘风格与朋友们

目前没有设置质量门槛来确保代码与测试的比例保持不变,但请考虑在您的贡献中添加测试。spring-doc.cadn.net.cn

我们有一些比较温和的检查式规则,基本上强制执行默认的Java格式规则。 你的构建会因为格式错误或者未用导入等问题而崩溃。spring-doc.cadn.net.cn