解决依赖问题
包含 neo4j 工件有多种方法。在本文中,我们将重点介绍基于不同场景或错误的 maven。最常见的问题是在 pom.xml 中正确设置依赖项。
验证您是否拥有正确的依赖项
您可以在包含 pom.xml 的文件夹中执行以下 maven 命令
# resolve dependency in the local repository (by default in ~/.m2/)
$ mvn dependency:resolve
# displays the dependencies as a tree
$ mvn dependency:tree
# purge local repo and resolve dependencies
$ mvn dependency:purge-local-repository
# perform integration tests
$ mvn verify
在版本 3.5 中,即使您正在运行单元测试,也只需要 3 个工件
对于企业版,您的 pom.xml 应该包含
<project>
<!-- .... -->
<properties>
<neo4j.version>3.5.6</neo4j.version>
</properties>
<dependencies>
<dependency>
<groupId>com.neo4j</groupId>
<artifactId>neo4j-enterprise</artifactId>
<version>${neo4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>${neo4j-java-driver.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.neo4j.test</groupId>
<artifactId>neo4j-harness-enterprise</artifactId>
<version>${neo4j.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- ... -->
</project>
对于社区版,您的 pom.xml 应该包含
<project>
<!-- ... -->
<properties>
<neo4j.version>3.5.6</neo4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>${neo4j-java-driver.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.neo4j.test</groupId>
<artifactId>neo4j-harness-enterprise</artifactId>
<version>${neo4j.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- ... -->
</project>
使用配置为镜像仓库的私有 sonatype nexus 解决依赖项
这是首选方法。它允许您保持最新状态并自动获取更新。为此,您需要以管理员身份登录 nexus 或联系您的 nexus 管理员并确保仓库可用且正常。
-
对于社区版,您需要添加一个仓库
org.neo4j:neo4j
,公共 maven 仓库 URL 是 https://repo.maven.apache.org/maven2/
-
对于企业版,您需要添加以下两个仓库
com.neo4j:neo4j-enterprise
(有关 URL/用户名/密码,请参阅“Neo4j 企业版工件的 KB 依赖项位置”)
org.neo4j:neo4j
(在公共仓库 https://repo.maven.apache.org/maven2/ 上可用)
命名约定是 groupId:artifactId。例如:org.neo4j:neo4j
实际上是 groupid=org.neo4j 和 artifactId=neo4j
使用配置为托管仓库的私有 sonatype nexus 解决依赖项
不建议使用此方法,因为它需要手动操作并且容易出错。它应该作为最后的手段解决方案。 |
请记住,neo4j 需要 70-200 多个工件,具体取决于版本和使用的范围。
-
实现此操作的最简单方法是在下载所有依赖项后压缩 .m2/repository 文件夹
-
您需要将 **jar** 和关联的 **pom** 文件上传到您的仓库中。
-
执行以下 maven 命令并将其与有权访问官方仓库的机器进行比较
$ mvn dependency:tree
如果您发现差异,请使用网页浏览器浏览您的 nexus 仓库并检查 .pom 文件的签名。
使用本地文件夹解决依赖项(需要互联网)
这是最简单的方法,但您最终将不得不重复这些步骤才能升级到最新的维护版本。
-
打开终端并进入包含 pom.xml 的项目文件夹
-
使用以下 mvn 命令从有权访问互联网的源机器下载 jar。它会将它们复制到本地文件夹中
mvn dependency:go-offline -Dmaven.repo.local=./remoterepo
(如果您的互联网受到限制,您可以请求支持进行此操作)
-
在源机器上压缩文件夹
-
在目标机器上解压缩它
-
在您的 pom.xml 中指定以下内容
<repositories>
<repository>
<id>neo4j</id>
<url>file://</url>
<!-- ie <url>file:///home/neo4j/maven/remoterepo</url> -->
</repository>
<repository>
<id>neo4j-enterprise</id>
<url>file://</url>
<!-- ie <url>file:///home/neo4j/maven/remoterepoenterprise</url> -->
</repository>
</repositories>
此页面是否有帮助?