繁体   English   中英

在Grails Spring Data应用程序中混合Java和Groovy代码时出错

[英]Error when mixing java and groovy code in Grails Spring Data application

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

(我会改用Grails Neo4J GORM插件,但事实上,它在高于Grails 2.3.5的版本中不起作用-我正在使用2.4.3-甚至在使用2.3.5时,示例应用程序也提供了由开发人员运行时出现错误)。

我想创建一系列表示存在于图中的节点的Java类,该弹簧-数据-的Neo4j然后将允许我Grails中访问视为POJO(在第二答案的点1上,以便讨论此处 ) 。 我在这里使用此Spring Data教程作为起点。 我已经将Person.java和PersonRepository.java类复制到src / java。 然后,我正在运行“ grails run-app”-我不希望任何事情发生,只是为了让Grails编译Java源代码然后正常启动(我将接着将Application.java中的某些代码导入第三个Java类以实际使用这些类)。

但是,出现以下错误,Grails崩溃:

context.ContextLoader上下文初始化失败java.lang.NoSuchMethodError:org.springframework.expression.spel.SpelParserConfiguration。(Lorg / springframework / expression / spel / SpelCompilerMode; Ljava / lang / ClassLoader;)java.util.concurrent.FutureTask上的V。在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)处运行(FutureTask.java:266) .run(Thread.java:745)context.GrailsContextLoaderListener初始化应用程序时出错: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;)java.util.concurrent.FutureTask.run(FutureTask.java:266)上的V .util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecu 在java.lang.Thread.run(Thread.java:745)上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)上的tor.java:1142)| 错误分叉的Grails VM退出并显示错误| 服务器正在运行。 浏览到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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM