我们想运行一个需要外部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脚本启动。
答案 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脚本,这不太可靠。
是否可以将其添加为支持的选项?