Ошибки Orientdb: не удается загрузить обработчик журнала "java.util.logging.FileHandler" и т. д

Я новичок в графической базе данных, и я попробовал Orientdb 2.2.34. Я использую машину Windows 10 с Java 10.0.1 JRE и JDK. Когда я запускаю файл server.bat, я получаю следующие ошибки, и я не знаю, с чего начать их устранение:

Can't load log handler "java.util.logging.FileHandler" java.nio.file.AccessDeniedException: ..\log\orient-server.log.0.lck java.nio.file.AccessDeniedException: ..\log\orient-server.log.0.lck at java.base/sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at java.base/sun.nio.fs.WindowsFileSystemProvider.newFileChannel(Unknown Source) at java.base/java.nio.channels.FileChannel.open(Unknown Source) at java.base/java.nio.channels.FileChannel.open(Unknown Source) at java.logging/java.util.logging.FileHandler.openFiles(Unknown Source) at java.logging/java.util.logging.FileHandler.(Unknown Source) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source) at java.base/java.lang.Class.newInstance(Unknown Source) at java.logging/java.util.logging.LogManager.createLoggerHandlers(Unknown Source) at java.logging/java.util.logging.LogManager.access$1000(Unknown Source) at java.logging/java.util.logging.LogManager$4.run(Unknown Source) at java.logging/java.util.logging.LogManager$4.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.logging/java.util.logging.LogManager.loadLoggerHandlers(Unknown Source) at java.logging/java.util.logging.LogManager.initializeGlobalHandlers(Unknown Source) at java.logging/java.util.logging.LogManager.access$1800(Unknown Source) at java.logging/java.util.logging.LogManager$RootLogger.accessCheckedHandlers(Unknown Source) at java.logging/java.util.logging.Logger.getHandlers(Unknown Source) at com.orientechnologies.common.log.OLogManager.installCustomFormatter(OLogManager.java:84) at com.orientechnologies.orient.server.OServer.(OServer.java:135) at com.orientechnologies.orient.server.OServer.(OServer.java:118) at com.orientechnologies.orient.server.OServerMain.create(OServerMain.java:28) at com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:47)

2018-05-01 21:47:35:110 INFO Loading configuration from: C:/Program Files/Orientdb-2.2.34/config/orientdb-server-config.xml...WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by 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 method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release

2018-05-01 21:47:35:371 INFO OrientDB Server v2.2.34 (build f340442755a31eabc91b87cb3ef99eda5cee6ebd, branch 2.2.x) is starting up... 2018-05-01 21:47:35:377 INFO Databases directory: C:\Program Files\Orientdb-2.2.34\databases 2018-05-01 21:47:35:413 INFO Configuration of usage of soft references inside of containers of results of SQL execution 2018-05-01 21:47:35:426 INFO Initial and maximum values of heap memory usage are equal, containers of results of SQL executors will use soft references by default 2018-05-01 21:47:35:427 INFO Auto configuration of disk cache size. 2018-05-01 21:47:35:483 INFO 8449830912 B/8058 MB/7 GB of physical memory were detected on machine 2018-05-01 21:47:35:483 INFO Detected memory limit for current process is 8449830912 B/8058 MB/7 GB 2018-05-01 21:47:35:486 INFO OrientDB auto-config DISKCACHE=3,962MB (heap=2,048MB direct=524,288MB os=8,058MB) 2018-05-01 21:47:35:599 INFO {db=OSystem} Creating the system database 'OSystem' for current serverException 1E7ECDE6 in storage plocal:C:/Program Files/Orientdb-2.2.34/databases/OSystem: 2.2.34 (build f340442755a31eabc91b87cb3ef99eda5cee6ebd, branch 2.2.x) com.orientechnologies.orient.core.exception.OStorageException: Cannot create folders in storage with path C:/Program Files/Orientdb-2.2.34/databases/OSystem DB name = "OSystem" at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.create(OLocalPaginatedStorage.java:127) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:438) at com.orientechnologies.orient.server.OSystemDatabase.init(OSystemDatabase.java:160) at com.orientechnologies.orient.server.OSystemDatabase.(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)
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

create folders in storage with path C:/Program Files/Orientdb-2.2.34/databases/OSystem DB name = "OSystem" at com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.create(OLocalPaginatedStorage.java:127) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.create(ODatabaseDocumentTx.java:438) ... 5

более

Проверьте, не запущен ли другой экземпляр, удерживающий блокировку на ..\log\orient-server.log.0.lck.

hoaz 01.05.2018 23:43

Вы пробовали запустить "чистую" версию orientdb ??

ldacrema 03.05.2018 03:25
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
2
3 158
3

Ответы 3

Похоже, вам нужно отредактировать ваш java.util.logging.FileHandler.pattern в orientdb-server-log-properties на абсолютный путь, а не на относительный.

например C: \ Program Files \ Orientdb-2.2.34 \ журнал

Если вы запускаете это в 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

Запустите server.bat OrientDB из интерфейса командной строки Windows, который был запущен с правами администратора.

Другие вопросы по теме