我是neo4j的初学者。我试图在springboot应用程序中使用嵌入式neo4j数据库构建测试。由于找不到DatabaseManagementServiceBuilder类,我一直没有成功。请注意,我使用的是4.0.2版本。有什么帮助吗?
完整类名为org.neo4j.dbs.api.DatabaseManagementServiceBuilder。
下面是一个使用生成器的示例类。
几个月前,我也曾在测试中使用嵌入式neo4j数据库。
如果你找不到适合嵌入式版本的解决方案,我最终启动了一个数据库的真实实例。。。
我调整了neo4j的官方Dockerfile,使用jdk而不是jre,并能够针对它运行测试。
这是Dockerfile,从官方的3.4.5企业Dockerfile:开始
FROM openjdk:8-jdk-slim
RUN apt-get update && apt-get install -y --no-install-recommends
make &&
rm -rf /var/lib/apt/lists/*
ADD maven-settings.xml /root/.m2/settings.xml
# from official neo4j:3.4.5-enterprise image content (changed base image to use jdk instead of jre)
RUN addgroup --system neo4j && adduser --system --no-create-home --home /var/lib/neo4j --ingroup neo4j neo4j
ENV NEO4J_SHA256=0629f17a99ba90d6900c98f332c775a732cc2ad6298b8df41a2872277b19e6e3
NEO4J_TARBALL=neo4j-enterprise-3.4.5-unix.tar.gz
NEO4J_EDITION=enterprise
NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
TINI_VERSION="v0.18.0"
TINI_SHA256="12d20136605531b09a2c2dac02ccee85e1b874eb322ef6baf7561cd93f93c855"
ARG NEO4J_URI=http://dist.neo4j.org/neo4j-enterprise-3.4.5-unix.tar.gz
RUN apt update
&& apt install -y
bash
curl
&& curl -L --fail --silent --show-error "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" > /sbin/tini
&& echo "${TINI_SHA256} /sbin/tini" | sha256sum -c --strict --quiet
&& chmod +x /sbin/tini
&& curl --fail --silent --show-error --location --remote-name ${NEO4J_URI}
&& echo "${NEO4J_SHA256} ${NEO4J_TARBALL}" | sha256sum -c --strict --quiet
&& tar --extract --file ${NEO4J_TARBALL} --directory /var/lib
&& mv /var/lib/neo4j-* /var/lib/neo4j
&& rm ${NEO4J_TARBALL}
&& mv /var/lib/neo4j/data /data
&& chown -R neo4j:neo4j /data
&& chmod -R 777 /data
&& chown -R neo4j:neo4j /var/lib/neo4j
&& chmod -R 777 /var/lib/neo4j
&& ln -s /data /var/lib/neo4j/data
# Install latest su-exec
RUN set -ex;
curl -o /usr/local/bin/su-exec.c https://raw.githubusercontent.com/ncopa/su-exec/master/su-exec.c;
fetch_deps='gcc libc-dev';
apt-get update;
apt-get install -y --no-install-recommends $fetch_deps;
rm -rf /var/lib/apt/lists/*;
gcc -Wall
/usr/local/bin/su-exec.c -o/usr/local/bin/su-exec;
chown root:root /usr/local/bin/su-exec;
chmod 0755 /usr/local/bin/su-exec;
rm /usr/local/bin/su-exec.c;
apt-get purge -y --auto-remove $fetch_deps
ENV PATH /var/lib/neo4j/bin:$PATH
ARG NEO4J_AUTH=neo4j/neo4jtest
ENV NEO4J_AUTH=${NEO4J_AUTH}
WORKDIR /var/lib/neo4j
VOLUME /data
COPY docker-entrypoint.sh /docker-entrypoint.sh
EXPOSE 7474 7473 7687
ENTRYPOINT ["/sbin/tini", "-g", "--", "/docker-entrypoint.sh"]
CMD ["neo4j"]
我使用了原始的docker-entrypoint.sh
脚本。