Проблемы неуправляемого расширения с Neo4j 3.3.0 в Windows

Я написал неуправляемое расширение для версии Neo4j 3.2.3, и оно отлично работает. Затем я изменил версию Neo4j в pom.xml на 3.3.0 - и получил две ошибки:

1) Тесты получили ошибку:

java.util.ServiceConfigurationError: org.neo4j.configuration.LoadableConfig: Provider org.neo4j.ext.udc.UdcSettings could not be instantiated

    at java.util.ServiceLoader.fail(ServiceLoader.java:232)
    at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.util.Iterator.forEachRemaining(Iterator.java:116)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.neo4j.configuration.LoadableConfig.allConfigClasses(LoadableConfig.java:103)
    at org.neo4j.kernel.configuration.Config$Builder.build(Config.java:285)
    at org.neo4j.kernel.configuration.Config.defaults(Config.java:354)
    at org.neo4j.harness.internal.InProcessServerBuilder.createNeoServer(InProcessServerBuilder.java:47)
    at org.neo4j.harness.internal.AbstractInProcessServerBuilder.newServer(AbstractInProcessServerBuilder.java:149)
    at org.neo4j.harness.junit.Neo4jRule$1.evaluate(Neo4jRule.java:73)
    at org.junit.rules.RunRules.evaluate(RunRules.java:20)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.NoSuchMethodError: org.neo4j.kernel.configuration.Settings.setting(Ljava/lang/String;Ljava/util/function/Function;Ljava/lang/String;)Lorg/neo4j/graphdb/config/BaseSetting;
    at org.neo4j.ext.udc.UdcSettings.<clinit>(UdcSettings.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    ... 30 more

2) Я пропустил тесты, собрал банку и поместил ее в папку с плагинами, затем добавил необходимые dbms.unmanaged_extension_classes запись в файл conf.

Я управлял C:\neo4j-community-3.3.0-windows\neo4j-community-3.3.0> bin\neo4j.bat консоль и получил эту ошибку:

2017-11-19 18:42:34.049+0000 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@8462f31' was successfully initialized, but failed to start. Please see the attached cause exception "org.neo4j.kernel.api.impl.index.builder.LuceneIndexStorageBuilder.withIndexIdentifier(Ljava/lang/String;)Lorg/neo4j/kernel/api/impl/index/builder/LuceneIndexStorageBuilder;". Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@8462f31' was successfully initialized, but failed to start. Please see the attached cause exception "org.neo4j.kernel.api.impl.index.builder.LuceneIndexStorageBuilder.withIndexIdentifier(Ljava/lang/String;)Lorg/neo4j/kernel/api/impl/index/builder/LuceneIndexStorageBuilder;".
org.neo4j.server.ServerStartupException: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@8462f31' was successfully initialized, but failed to start. Please see the attached cause exception "org.neo4j.kernel.api.impl.index.builder.LuceneIndexStorageBuilder.withIndexIdentifier(Ljava/lang/String;)Lorg/neo4j/kernel/api/impl/index/builder/LuceneIndexStorageBuilder;".
        at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:68)
        at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:218)
        at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:111)
        at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:79)
        at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:32)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.server.database.LifecycleManagingDatabase@8462f31' was successfully initialized, but failed to start. Please see the attached cause exception "org.neo4j.kernel.api.impl.index.builder.LuceneIndexStorageBuilder.withIndexIdentifier(Ljava/lang/String;)Lorg/neo4j/kernel/api/impl/index/builder/LuceneIndexStorageBuilder;".
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:466)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
        at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:210)
        ... 3 more
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, C:\neo4j-community-3.3.0-windows\neo4j-community-3.3.0\data\databases\graph.db
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:211)
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:126)
        at org.neo4j.server.CommunityNeoServer.lambda$static$0(CommunityNeoServer.java:58)
        at org.neo4j.server.database.LifecycleManagingDatabase.start(LifecycleManagingDatabase.java:88)
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
        ... 5 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.extension.KernelExtensions@31ea9581' failed to initialize. Please see the attached cause exception "org.neo4j.kernel.api.impl.index.builder.LuceneIndexStorageBuilder.withIndexIdentifier(Ljava/lang/String;)Lorg/neo4j/kernel/api/impl/index/builder/LuceneIndexStorageBuilder;".
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:427)
        at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:62)
        at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:98)
        at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:207)
        ... 9 more
Caused by: java.lang.NoSuchMethodError: org.neo4j.kernel.api.impl.index.builder.LuceneIndexStorageBuilder.withIndexIdentifier(Ljava/lang/String;)Lorg/neo4j/kernel/api/impl/index/builder/LuceneIndexStorageBuilder;
        at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanIndexBuilder.<init>(LuceneLabelScanIndexBuilder.java:39)
        at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanIndexBuilder.create(LuceneLabelScanIndexBuilder.java:49)
        at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.getIndexBuilder(LuceneLabelScanStoreExtension.java:95)
        at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.newInstance(LuceneLabelScanStoreExtension.java:80)
        at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.newInstance(LuceneLabelScanStoreExtension.java:44)
        at org.neo4j.kernel.extension.KernelExtensions.newInstance(KernelExtensions.java:78)
        at org.neo4j.kernel.extension.KernelExtensions.init(KernelExtensions.java:61)
        at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:406)
        ... 12 more
2017-11-19 18:42:34.058+0000 INFO  Neo4j Server shutdown initiated by request

Почему возникает эта ошибка?

Обновить:

Я использую шаблон неуправляемого расширения "dmontag" и использую hes pom.xml. Теперь все тесты зеленые, но когда я запустил C:\neo4j-community-3.3.0- windows\neo4j-community-3.3.0> bin\neo4j.bat console Я получил новую ошибку:

    2017-11-20 11:11:46.776+0000 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1db1c92b' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to register procedure, because the name `dbms.functions` is already in use.". Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1db1c92b' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to register procedure, because the name `dbms.functions` is already in use.".
    org.neo4j.server.ServerStartupException: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1db1c92b' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to register procedure, because the name `dbms.functions` is already in use.".
            at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:68)
            at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:218)
            at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:111)
            at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:79)
            at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:32)
    Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.server.database.LifecycleManagingDatabase@1db1c92b' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to register procedure, because the name `dbms.functions` is already in use.".
            at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:466)
            at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
            at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:210)
            ... 3 more
    Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, C:\neo4j-community-3.3.0-windows\neo4j-community-3.3.0\data\databases\graph.db
            at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:211)
            at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:126)
            at org.neo4j.server.CommunityNeoServer.lambda$static$0(CommunityNeoServer.java:58)
            at org.neo4j.server.database.LifecycleManagingDatabase.start(LifecycleManagingDatabase.java:88)
            at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
            ... 5 more
    Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.proc.Procedures@2bd03dfe' was successfully initialized, but failed to start. Please see the attached cause exception "Unable to register procedure, because the name `dbms.functions` is already in use.".
            at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:466)
            at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
            at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:207)
            ... 9 more
    Caused by: org.neo4j.kernel.api.exceptions.ProcedureException: Unable to register procedure, because the name `dbms.functions` is already in use.
            at org.neo4j.kernel.impl.proc.ProcedureRegistry.register(ProcedureRegistry.java:84)
            at org.neo4j.kernel.impl.proc.Procedures.register(Procedures.java:123)
            at org.neo4j.kernel.impl.proc.Procedures.register(Procedures.java:78)
            at org.neo4j.kernel.impl.proc.Procedures.start(Procedures.java:278)
            at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
            ... 11 more
    2017-11-20 11:11:46.791+0000 INFO  Neo4j Server shutdown initiated by request

Вот мой pom.xml:

    <dependencies>
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j</artifactId>
            <version>${neo4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.neo4j.app</groupId>
            <artifactId>neo4j-server</artifactId>
            <version>${neo4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.neo4j.test</groupId>
            <artifactId>neo4j-harness</artifactId>
            <version>${neo4j.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.9.5</version>
        </dependency>
        <dependency>
            <groupId>com.mashape.unirest</groupId>
            <artifactId>unirest-java</artifactId>
            <version>1.4.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpasyncclient</artifactId>
            <version>4.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
            <version>4.3.6</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20140107</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <!-- bind to the packaging phase -->
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

0 ответов

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