我有一些情况,其中一些groovy代码引用我的java文件,但我也有不同的java文件引用相同的groovy代码。当试图在maven中编译时,我需要在java之前或之后编译groovy,因为groovy代码依赖于一些java文件,并且不同的java文件依赖于groovy代码,所以这不会起作用。有没有办法处理这种依赖?maven编译groovy
12
A
回答
8
您应该可以通过将gmaven插件添加到您的maven pom.xml来编译您的代码。它会生成groovy代码的Java存根,以处理您正在处理的跨语言引用的类型。我使用它很多,它工作得很好。
0
您可以将您的代码分层分层,并让较低层调用较高层,但从不反过来。例如,在一个Web应用程序中,您可以拥有一个视图层,一个服务层和一个持久层。视图层调用服务层,服务层调用持久层,但持久层永远不会调用服务层或视图层。如果你想groovy/java代码存在于同一层,那么确保一个调用另一个,但它们不会互相调用。底线是你应该避免双向依赖。
11
是的,只需使用GMaven。由于它是一个联合编译器,因此它会自动管理您的java以适应Groovy和Groovy到Java的依赖关系。
简单地说,你将需要:
- 在您
pom.xml
的gmaven-plugin
; - 保持您的groovy课程在
src/main/groovy
或src/test/groovy
; - 将gmaven插件绑定到相关的生命周期阶段。
欲了解更多详情,请参阅building groovy projects。
相关问题
- 1. 使用Maven和groovy-eclipse编译器编译Groovy
- 2. 编译Groovy类
- 3. Maven编译
- 4. Maven不运行由groovy编译器生成的TestNG测试
- 5. Maven不编译webapp
- 6. maven编译失败
- 7. maven dependencies groovy
- 8. Maven编译错误ProjectBuildingException
- 9. Maven/Gradle列出编译类
- 10. maven防止依赖编译
- 11. Maven包编译错误
- 12. Maven的编译错误ProjectBuildingException
- 13. Maven - 无需编译安装
- 14. 使用Maven编译Scala
- 15. Eclipse和Maven编译差异
- 16. flex:使用maven编译swf
- 17. Maven构建没有编译
- 18. Maven Groovy和Java + Lombok
- 19. Groovy的编译错误:意外标记
- 20. 使用groovyc编译groovy类:multiplecompliationErrorException
- 21. Groovy在Eclipse中没有正确编译
- 22. 用ant任务编译Groovy文件
- 23. 编译错误 - Groovy和龙目岛
- 24. Groovy编译器如何工作?
- 25. 在Eclipse中编译Groovy文件
- 26. Eclipse-Groovy插件:添加新的Groovy编译器版本
- 27. Maven build编译错误:无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:编译(默认编译)项目Maven
- 28. 编译部件集时Maven编译失败
- 29. Maven的编译器插件:3.1:编译(1个错误)在Eclipse
- 30. Groovy和Spring与Maven集成
-1有一个联合的Groovy-Java编译器。 – 2009-06-20 21:27:51