我已经将旧的neo4j 3.5.7版本更新到了4.0.6,并且遵循了迁移指南。单元测试正在运行,但只要我尝试将neo4j部署为应用服务器上的嵌入式数据库,运行时我就会得到以下预期:
at org.glassfish.javax.enterprise.concurrent//org.glassfish.enterprise.concurrent.ManagedThreadFactoryImpl$ManagedThread.run(ManagedThreadFactoryImpl.java:250)
Caused by: java.lang.NoClassDefFoundError: Failed to link org/neo4j/cypher/internal/evaluator/SimpleInternalExpressionEvaluator$ExpressionParser$ (Module "my-application-ear-4.6.0-SNAPSHOT.ear" from Service Module Loader): Failed to link org/neo4j/cypher/internal/v4_0/parser/Expressions (Module "my-application-ear-4.6.0-SNAPSHOT.ear" from Service Module Loader): Failed to link org/neo4j/cypher/internal/v4_0/parser/Patterns (Module "my-application-ear-4.6.0-SNAPSHOT.ear" from Service Module Loader): Failed to link org/neo4j/cypher/internal/v4_0/parser/Literals (Module "my-application-ear-4.6.0-SNAPSHOT.ear" from Service Module Loader): Failed to link org/neo4j/cypher/internal/v4_0/parser/Strings (Module "my-application-ear-4.6.0-SNAPSHOT.ear" from Service Module Loader): Failed to link org/neo4j/cypher/internal/v4_0/parser/Base (Module "my-application-ear-4.6.0-SNAPSHOT.ear" from Service Module Loader): org/parboiled/scala/Parser
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.cypher.internal.evaluator.SimpleInternalExpressionEvaluator.$anonfun$evaluate$1(SimpleInternalExpressionEvaluator.scala:43)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.cypher.internal.evaluator.SimpleInternalExpressionEvaluator.errorContext(SimpleInternalExpressionEvaluator.scala:56)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.cypher.internal.evaluator.SimpleInternalExpressionEvaluator.evaluate(SimpleInternalExpressionEvaluator.scala:42)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.cypher.internal.evaluator.SimpleExpressionEvaluator.evaluate(SimpleExpressionEvaluator.java:44)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.MapConverter.apply(MapConverter.java:46)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.MapConverter.apply(MapConverter.java:31)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.TypeCheckers$DefaultValueConverter.defaultValue(TypeCheckers.java:321)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.MethodSignatureCompiler.signatureFor(MethodSignatureCompiler.java:84)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.ProcedureCompiler.compileProcedure(ProcedureCompiler.java:252)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.ProcedureCompiler.compileProcedure(ProcedureCompiler.java:226)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.GlobalProceduresRegistry.registerProcedure(GlobalProceduresRegistry.java:176)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.GlobalProceduresRegistry.registerProcedure(GlobalProceduresRegistry.java:164)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.procedure.impl.GlobalProceduresRegistry.registerProcedure(GlobalProceduresRegistry.java:153)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.graphdb.factory.module.edition.AbstractEditionModule.registerProcedures(AbstractEditionModule.java:95)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.lambda$setupProcedures$5(DatabaseManagementServiceFactory.java:278)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.graphdb.factory.module.edition.CommunityEditionModule.tryResolveOrCreate(CommunityEditionModule.java:258)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.setupProcedures(DatabaseManagementServiceFactory.java:225)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.graphdb.facade.DatabaseManagementServiceFactory.build(DatabaseManagementServiceFactory.java:131)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.dbms.api.DatabaseManagementServiceBuilder.newDatabaseManagementService(DatabaseManagementServiceBuilder.java:85)
at my-application-ear-4.6.0-SNAPSHOT.ear//org.neo4j.dbms.api.DatabaseManagementServiceBuilder.build(DatabaseManagementServiceBuilder.java:78)这是我现在jar中的maven依赖项列表,可以让neo4j处理单元测试:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cypher-expression-evaluator</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-parser-4.0</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-bolt</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-security</artifactId>
<version>${neo4j.version}</version>
<exclusions>
<exclusion>
<!-- CVE-2008-0660 as we're running community, we don't need this -->
<groupId>org.neo4j.licensing-proxy</groupId>
<artifactId>zstd-proxy</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-slf4j</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j.community</groupId>
<artifactId>it-test-support</artifactId>
<version>${neo4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.parboiled</groupId>
<artifactId>parboiled-scala_2.12</artifactId>
<version>${parboiled-for-neo4j.version}</version>
<scope>test</scope>
</dependency>奇怪的是,在3.5版本中,这个依赖列表就足够了,并且在wildfly中没有问题:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-bolt</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-security</artifactId>
<version>${neo4j.version}</version>
<exclusions>
<exclusion>
<!-- CVE-2008-0660 as we're running community, we don't need this -->
<groupId>org.neo4j.licensing-proxy</groupId>
<artifactId>zstd-proxy</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-slf4j</artifactId>
<version>${neo4j.version}</version>
</dependency>
<dependency>
<groupId>org.neo4j.community</groupId>
<artifactId>it-test-support</artifactId>
<version>${neo4j.version}</version>
<scope>test</scope>
</dependency>有人可能有同样的问题,可以给我一个提示?任何帮助都是非常感谢的!谢谢
发布于 2020-07-10 03:29:19
添加以下依赖项并尝试:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-cypher</artifactId>
<version>4.0.2</version>
</dependency>https://stackoverflow.com/questions/62821842
复制相似问题