独立Neo4j服务器的附加类路径

时间:2018-05-31 10:30:40

标签: java neo4j

我们想运行一个需要外部JAR和配置的neo4j扩展(REST API)。

即使我们可以将jar添加到{NEO4J_HOME}/plugin/目录,我们也希望依赖已经设置的环境,包括(例如)一些/opt/product/lib//var/opt/product/conf/文件夹。

使用Embedded Neo4j Server时当然非常简单,但使用Standalone Neo4j Server时如何做到这一点?

我们能做到吗?通过配置?通过任何引擎盖下的技巧?

注意:我们正在使用Neo4j v3.2 +,它使用PowerShell脚本启动。

1 个答案:

答案 0 :(得分:0)

通过编辑Get-Java.ps1 PowerShell脚本,如下所示:

# Parse Java config settings - Additional ClassPath
$option = (Get-Neo4jSetting -Name 'dbms.jvm.additional.classpath' -Neo4jServer $Neo4jServer)
$ClassPath="$ClassPath;$([System.Environment]::ExpandEnvironmentVariables($option.Value))"
Write-Warning "WARNING: using classpath: $ClassPath";

$ShellArgs = @("-cp `"$($ClassPath)`""`
              ,'-server' `
              ,'-Dlog4j.configuration=file:conf/log4j.properties' `
              ,'-Dneo4j.ext.udc.source=zip-powershell' `
              ,'-Dorg.neo4j.cluster.logdirectory=data/log' `
              #,'-agentlib:jdwp=transport=dt_socket,address=8998,server=y' `
  )

neo4j.conf中添加以下配置:

#********************************************************************
# JVM Parameters
#********************************************************************

dbms.jvm.additional.classpath=%MY_PRODUCT%/lib/*;%MY_PRODUCT%/conf/*

但如上所述,这需要手动编辑Neo4j PowerShell脚本,这不太可靠。

是否可以将其添加为支持的选项?