提问者:小点点

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


我想创建一个具有许多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第二个答案的第1点所述)。我在这里使用这个Spring Data教程作为起点。我已经将Person.java和PersonRepository.java类复制到src/java。然后我运行“grails run-app”——我不期望任何事情发生,只是为了让Grails编译java源代码,然后正常启动(然后我将致力于将Application.java中的一些代码导入第三java类以实际使用这些类)。

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

如果我将java示例应用程序作为基本java程序运行(使用gradle run构建并运行它),那么它就像宣传的那样工作。

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


共1个答案

匿名用户

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

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

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