Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /home/manish/Softwares/neo4j-enterprise-2.1.6/data/graph.db
CausedBy: «[email protected]» компонент был успешно инициализирован, но не удалось запустить. См. Прилагаемое исключение причины.Исключение при подключении к Neo4j
CausedBy: Компонент '[email protected]' был успешно инициализирован, но не запущен. См. Прилагаемое исключение причины.
CausedBy: поставщик указателей схемы отсутствует org.neo4j.kernel.api.index.SchemaIndexProvider. Расширения ядра доступны на пути к классам: записи пути класса: /home/manish/NetBeansProjects/ClassLibOperations/store/ClassLibNeo4jOperations.jar /home/manish/NetBeansProjects/ClassLib2/store/2.jar/home/manish/NetBeansProjects/ClassLibB/store/3 .jar/дома/Manish/NetBeansProjects/ExecuteJarFile/сборки/классы
Я получаю выше исключение при выполнении строки:
database = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
сценарий является чем-то вроде этого:
У меня есть библиотека классов для работы с neo4j graph db с именем ClassLibNeo4jOperations. В этой библиотеке классов есть все ссылки, необходимые для работы с neo4j.
Теперь я упаковываю эту ClassLibrary как ClassLibNeo4jOperations.jar и добавляю ее как ссылку в консольном приложении ExecuteJarFile.
Теперь, когда я вызываю метод этого файла jar, выполняется эта строка database = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
, которая выбрасывает вышеупомянутое исключение.
Архиватор (ClassLibNeo4jOperations.jar) представляет собой жир банка, созданные с использованием методы, упомянутой в How to build fat jar
Спасибо, я добавил neo4j-lucene-index.jar в качестве ссылки на консольное приложение ExecuteJarFile. Исключение ушло, и он работает нормально. Можете ли вы сказать мне, почему эту банку нужно добавить явно, хотя neo4j-lucene-index.jar и все другие банки neo4j были упакованы в ClassLibNeo4joperations.jar? – Manish
, скорее всего, вы переопределили некоторые файлы внутри 'META-INF/services', которые существуют в нескольких файлах jar. Обязательно сводите их содержимое вместо того, чтобы переопределять. –