構建 Spring Data Neo4j

要求

  • JDK 17+ (可以是 OpenJDKOracle JDK)

  • Maven 3.8.5(我們提供 Maven 包裝器,請參閱專案根目錄中的 mvnwmvnw.cmd;包裝器會自動下載相應的 Maven 版本)

  • Neo4j 5.+ 資料庫,可以是

關於 JDK 版本

選擇 JDK 17 是一個受多種因素影響的決定

  • SDN 是一個 Spring Data 專案。Spring Data Commons 的基線是 JDK 17,Spring Framework 的基線也是。因此,保留 JDK 17 基線是順理成章的。

執行構建

以下各節是替代方案,大致按所需精力遞增排序。

所有構建都需要專案的本地副本

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

在繼續之前,請驗證您本地安裝的 JDK 版本。輸出應該類似

驗證您的 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 是一種工具,它利用作業系統級虛擬化在所謂的容器中執行輕量級軟體映象。

我們的構建使用 Testcontainers Neo4j 來啟動資料庫例項。

在 Linux / macOS 上使用預設設定構建
$ ./mvnw clean verify

在 Windows 機器上,使用

在 Windows 上使用預設設定構建
$ mvnw.cmd clean verify

輸出應該類似。

使用另一個映象

要使用的映象版本可以透過如下環境變數配置

使用不同的 Neo4j Docker 映象構建
$ SDN_NEO4J_VERSION=5.3.0-enterprise SDN_NEO4J_ACCEPT_COMMERCIAL_EDITION=yes ./mvnw clean verify

這裡我們使用 5.3.0 企業版,並接受許可協議。

如果內聯指定環境變數對您不起作用,請查閱您的作業系統或 shell 手冊,瞭解如何定義環境變數。

針對本地執行的資料庫

針對本地執行的資料庫進行執行將清除其全部內容。

針對本地執行的資料庫進行構建更快,因為它不會每次都重新啟動容器。我們在開發過程中經常這樣做。

您可以從我們的 下載中心 免費獲取 Neo4j 的副本。

請下載適用於您作業系統的版本,並按照說明啟動它。必要的一步是啟動資料庫後開啟瀏覽器並訪問 localhost:7474,將預設密碼 neo4j 更改為您喜歡的密碼。

之後,您可以透過指定本地 bolt URL 來執行完整的構建

使用本地執行的資料庫構建
$ SDN_NEO4J_URL=bolt://:7687 SDN_NEO4J_PASSWORD=verysecret ./mvnw clean verify

控制構建的環境變數摘要

名稱 預設值 含義

SDN_NEO4J_VERSION

5.3.0

要使用的 Neo4j docker 映象版本,請參閱 Neo4j Docker 官方映象

SDN_NEO4J_ACCEPT_COMMERCIAL_EDITION

某些測試可能需要 Neo4j 的企業版。我們在內部使用企業版進行構建和測試,但如果您不願意,我們不會強迫您接受許可。

SDN_NEO4J_URL

未設定

設定此環境變數允許連線到本地執行的 Neo4j 例項。我們在開發過程中經常使用此設定。

SDN_NEO4J_PASSWORD

未設定

使用 SDN_NEO4J_URL 配置的例項中 neo4j 使用者的密碼。

您需要同時設定 SDN_NEO4J_URLSDN_NEO4J_PASSWORD 才能使用本地例項。

Checkstyle 及相關工具

目前沒有質量門來確保程式碼/測試比保持原樣,但請考慮在您的貢獻中新增測試。

我們有一些相對寬鬆的 checkstyle 規則,大致遵循預設的 Java 格式規範。如果存在格式錯誤或未使用匯入等問題,您的構建將會失敗。