Orientdb错误:无法加载日志处理程序" java.util.logging.FileHandler"等

时间:2018-05-01 21:32:06

标签: java orientdb

我是图表数据库的新手,我已经给了Orientdb 2.2.34了。我使用的是带有Java 10.0.1 JRE和JDK的Windows 10计算机。当我运行server.bat文件时,我显示以下错误,并且我不知道从哪里开始解决它们:

  

无法加载日志处理程序" java.util.logging.FileHandler"   java.nio.file.AccessDeniedException:.. \ log \ orient-server.log.0.lck   java.nio.file.AccessDeniedException:.. \ log \ orient-server.log.0.lck           在java.base / sun.nio.fs.WindowsException.translateToIOException(未知   资源)           在java.base / sun.nio.fs.WindowsException.rethrowAsIOException(未知   资源)           在java.base / sun.nio.fs.WindowsException.rethrowAsIOException(未知   资源)           在java.base / sun.nio.fs.WindowsFileSystemProvider.newFileChannel(未知   资源)           在java.base / java.nio.channels.FileChannel.open(未知来源)           在java.base / java.nio.channels.FileChannel.open(未知来源)           在java.logging / java.util.logging.FileHandler.openFiles(未知来源)           在java.logging / java.util.logging.FileHandler。(未知来源)           at java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native   方法)           at java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown)   资源)           在java.base / jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(未知   资源)           at java.base / java.lang.reflect.Constructor.newInstance(Unknown Source)           at java.base / java.lang.Class.newInstance(Unknown Source)           在java.logging / java.util.logging.LogManager.createLoggerHandlers(未知   资源)           在java.logging / java.util.logging.LogManager.access $ 1000(未知来源)           在java.logging / java.util.logging.LogManager $ 4.run(未知来源)           在java.logging / java.util.logging.LogManager $ 4.run(未知来源)           at java.base / java.security.AccessController.doPrivileged(Native Method)           在java.logging / java.util.logging.LogManager.loadLoggerHandlers(未知   资源)           在java.logging / java.util.logging.LogManager.initializeGlobalHandlers(未知   资源)           在java.logging / java.util.logging.LogManager.access $ 1800(未知来源)           at java.logging / java.util.logging.LogManager $ RootLogger.accessCheckedHandlers(Unknown   资源)           在java.logging / java.util.logging.Logger.getHandlers(未知来源)           在com.orientechnologies.common.log.OLogManager.installCustomFormatter(OLogManager.java:84)           在com.orientechnologies.orient.server.OServer。(OServer.java:135)           在com.orientechnologies.orient.server.OServer。(OServer.java:118)           在com.orientechnologies.orient.server.OServerMain.create(OServerMain.java:28)           在com.orientechnologies.orient.server.OServerMain $ 1.run(OServerMain.java:47)

     

2018-05-01 21:47:35:110 INFO从以下位置加载配置:C:/ Program   Files / Orientdb-2.2.34 / config / orientdb-server-config.xml ...警告:An   发生了非法反射访问操作警告:非法   反思访问   com.sun.xml.bind.v2.runtime.reflect.opt.Injector $ 1   (file:/ C:/Program%20Files/Orientdb-2.2.34/lib/jaxb-impl-2.2.3.jar)to   方法   需要java.lang.ClassLoader.defineClass(java.lang.String中,字节[],INT,INT)   警告:请考虑向维护人员报告   com.sun.xml.bind.v2.runtime.reflect.opt.Injector $ 1警告:使用   --illegal-access =警告以启用进一步非法反射访问操作的警告警告:所有非法访问操作都将是   在将来的版本中被拒绝

     

2018-05-01 21:47:35:371 INFO OrientDB Server v2.2.34(build   f340442755a31eabc91b87cb3ef99eda5cee6ebd,分支2.2.x)正在启动   up ... 2018-05-01 21:47:35:377 INFO数据库目录:C:\ Program   Files \ Orientdb-2.2.34 \ databases 2018-05-01 21:47:35:413 INFO   在容器内部配置软引用的使用   SQL执行的结果2018-05-01 21:47:35:426 INFO Initial和   堆内存使用的最大值是相等的,结果的容器   SQL执行程序将默认使用软引用2018-05-01   21:47:35:427 INFO自动配置磁盘缓存大小。 2018年5月1日   21:47:35:483 INFO 8449830912 B / 8058 MB / 7 GB物理内存   在机器上检测到2018-05-01 21:47:35:483 INFO检测到的内存   当前过程的限制是8449830912 B / 8058 MB / 7 GB 2018-05-01   21:47:35:486 INFO OrientDB auto-config DISKCACHE = 3,962MB   (堆= 2,048MB直接= 524,288MB os = 8,058MB)2018-05-01 21:47:35:599   INFO {db = OSystem}创建系统数据库' OSystem'对于当前   存储1E7ECDE6中的serverException plocal:C:/Program Files/Orientdb-2.2.34/databases/OSystem:2.2.34(build   f340442755a31eabc91b87cb3ef99eda5cee6ebd,分支2.2.x)   com.orientechnologies.orient.core.exception.OStorageException:不能   使用路径C:/ Program在存储中创建文件夹   文件/ Orientdb-2.2.34 /数据库/ OSystem           DB name =" OSystem"           at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.create(OLocalPaginatedStorage.java:127)           在com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:438)           at com.orientechnologies.orient.server.OSystemDatabase.init(OSystemDatabase.java:160)           在com.orientechnologies.orient.server.OSystemDatabase。(OSystemDatabase.java:44)           at com.orientechnologies.orient.server.OServer.initSystemDatabase(OServer.java:1309)           在com.orientechnologies.orient.server.OServer.activate

(OServer.java:367)
        at com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:48)
Error during server execution
com.orientechnologies.orient.core.exception.ODatabaseException: Cannot create database 'OSystem'
        at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:506)
        at com.orientechnologies.orient.server.OSystemDatabase.init(OSystemDatabase.java:160)
        at com.orientechnologies.orient.server.OSystemDatabase.<init>(OSystemDatabase.java:44)
        at com.orientechnologies.orient.server.OServer.initSystemDatabase(OServer.java:1309)
        at com.orientechnologies.orient.server.OServer.activate(OServer.java:367)
        at com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:48)
Caused by: com.orientechnologies.orient.core.exception.OStorageException: Cannot
     

使用路径C:/ Program在存储中创建文件夹   文件/ Orientdb-2.2.34 /数据库/ OSystem               DB name =&#34; OSystem&#34;               at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.create(OLocalPaginatedStorage.java:127)               在com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:438)               ...... 5

更多

3 个答案:

答案 0 :(得分:0)

您似乎需要将java.util.logging.FileHandler.pattern中的orientdb-server-log-properties修改为绝对路径而不是相对路径。

e.g。 C:\ Program Files \ Orientdb-2.2.34 \ log

答案 1 :(得分:0)

如果您在Windows上使用Server.BAT运行此程序,则该BAT需要将其工作目录设置为该目录。您可以编辑orientdb-server-log-properties,这是正确的答案。

或者,您可以将工作目录更改为bin所在的位置,然后从那里启动服务器,而无需更改配置文件,这就是我选择要做的。

我有一个很小的orientStart.ps1文件,可以从任何类似的位置运行它。

始终需要环境ORIENTDB_HOME

    Push-Location
    $env:ORIENTDB_HOME="C:\orientdb-3.1.1"
    Set-Location $env:ORIENTDB_HOME\bin
    $SERVER ="server.bat"
    cmd /c $SERVER
    Pop-Location

答案 2 :(得分:0)

从以管理员权限启动的 Windows CLI 中启动 OrientDB 的 server.bat。