【问题标题】:Unable to create directory path [/User/Desktop/db2/logs] for Neo4j store无法为 Neo4j 存储创建目录路径 [/User/Desktop/db2/logs]
【发布时间】:2022-07-08 11:44:25
【问题描述】:

我正在尝试使用一种工具,它分两步分析 android 的代码异味。 第一步,该工具解析 apk 并在目录中生成 .db 文件,然后在下一步中将其转换为 CSV 文件;但是,每当我尝试运行第二步时,控制台都会返回以下错误:

java.io.IOException: Unable to create directory path [/User/Desktop/db2/logs] for Neo4j store.

我认为是 Neo4J 配置问题。 我目前正在使用以下 Java 配置运行该工具:

echo $JAVA_HOME 
/home/User/openlogic-openjdk-11.0.15
update-alternatives --config java
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode

为了安全起见,我还启动了 Neo4J,它返回了以下输出

sudo systemctl status neo4j.service
neo4j.service - Neo4j Graph Database
     Loaded: loaded (/lib/systemd/system/neo4j.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-07-06 20:11:04 CEST; 16min ago
   Main PID: 1040 (java)
      Tasks: 57 (limit: 18901)
     Memory: 705.4M
        CPU: 16.639s
     CGroup: /system.slice/neo4j.service
             └─1040 /usr/bin/java -cp "/var/lib/neo4j/plugins:/etc/neo4j:/usr/share/neo4j/lib/*:/var/lib/neo4j/plugins/*" -XX:+UseG1GC -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch -XX:+UnlockExper>.

我该如何解决这个问题?

【问题讨论】:

  • 错误提示“您用于运行 neo4j 服务的 id 无权在该目录中创建文件:/User/Desktop/db2/logs”。尝试使用 sudo neo4j 控制台启动 db

标签: java neo4j


【解决方案1】:

您发布了此错误:

java.io.IOException: Unable to create directory path [/User/Desktop/db2/logs] for Neo4j store.

从那个错误来看,它看起来像:

  • Neo4j 安装在“/User/Desktop/db2”
  • 该目录的权限没有“写”权限

我尝试按照以下步骤使用 Neo4j Community 4.4.5 在本地重现此内容。 我确实看到了与“日志”相关的 IOException,但它与您发布的内容略有不同。也许我们使用的是不同版本的 Neo4j。

  • 打开终端进入安装目录:cd neo4j
  • 验证“neo4j”已停止:./bin/neo4j stop
  • 重命名现有“日志”目录:mv logs logs.save
  • 删除 Neo4j 安装的写入权限:chmod u-w .
  • 在控制台模式下启动 neo4j:./bin/neo4j console
  • 观察控制台输出中的错误
    2022-07-08 03:28:38.081+0000 INFO  Starting...
    ERROR StatusLogger Unable to create file [****************************]/neo4j/logs/debug.log
     java.io.IOException: Could not create directory [****************************]/neo4j/logs
    ...
    

要解决问题,请尝试:

  • 在您的 Neo4j 目录中获取一个终端:
    cd /User/Desktop/db2
    
  • 为整个目录树设置写权限:
    chmod u+w -R .
    
  • 在控制台模式下启动 neo4j:
    ./bin/neo4j console
    

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 2019-09-02
    • 2016-05-20
    • 2021-06-28
    • 2018-12-10
    相关资源
    最近更新 更多