gpt4 book ai didi

java - 在 Grails Spring Data 应用程序中混合 java 和 groovy 代码时出错

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:23 34 4
gpt4 key购买 nike

我想创建一个包含多个 java 源文件的 Grails 应用程序。这些 java 文件让我可以通过 spring-data-neo4j 访问嵌入的 Neo4J 图。

(我会使用 Grails Neo4J GORM 插件,但事实上它无法在高于 Grails 2.3.5 的版本中工作 - 我使用的是 2.4.3 - 即使使用 2.3.5,开发人员提供的示例应用程序在运行时也会出现错误)。

我想创建一系列 java 类来表示图中存在的节点,然后 spring-data-neo4j 将允许我在 Grails 中将其作为 POJO 进行访问(如 SO here 上第二个答案的第 1 点所述)。我正在使用this Spring Data tutorial here作为起点。我已将 Person.java 和 PersonRepository.java 类复制到 src/java 。然后我运行“grails run-app” - 我不希望发生任何事情,只是让 Grails 编译 java 源代码然后正常启动(然后我将致力于将 Application.java 中的一些代码导入到第三个 java 类中以实际使用这些类)。

但是,我收到以下错误并且 Grails 崩溃:

context.ContextLoader Context initialization failed java.lang.NoSuchMethodError: org.springframework.expression.spel.SpelParserConfiguration.(Lorg/springframework/expression/spel/SpelCompilerMode;Ljava/lang/ClassLoader;)V at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) context.GrailsContextLoaderListener Error initializing the application: org.springframework.expression.spel.SpelParserConfiguration.(Lorg/springframework/expression/spel/SpelCompilerMode;Ljava/lang/ClassLoader;)V java.lang.NoSuchMethodError: org.springframework.expression.spel.SpelParserConfiguration.(Lorg/springframework/expression/spel/SpelCompilerMode;Ljava/lang/ClassLoader;)V at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) | Error Forked Grails VM exited with error | Server running. Browse to http://localhost:8080/

如果我将 java 示例应用程序作为基本 java 程序运行(使用“gradle run”构建并运行它),那么它就会像广告中那样工作。

我需要做些什么才能让 java 代码在 Grails spring 数据应用程序中正确编译吗?

最佳答案

这似乎与依赖项的版本不匹配有关。示例代码使用 Gradle spring-boot 插件来整理传递依赖关系。但是,这不能在我的项目中使用,因为我正在使用 gradle-grails 插件,该插件特别禁止使用 Java 或 Groovy 插件(而 spring-boot 插件需要 Java 插件)。

当我将这两个依赖项的依赖项从 4.1.1(最新,2014 年 11 月 6 日)更改为 4.0.6 时,错误消失了:

compile "org.springframework:spring-context:4.0.6.RELEASE"
compile "org.springframework:spring-tx:4.0.6.RELEASE"

关于java - 在 Grails Spring Data 应用程序中混合 java 和 groovy 代码时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26757470/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com