我有一些情况,其中一些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. 编译Groovy和Kotlin?
- 4. 使用非常古老的groovy编译器编译groovy文件
- 5. Maven编译
- 6. 使用Groovy-Eclipse编译器插件的Maven-build包含罐中的* .groovy文件
- 7. Maven不运行由groovy编译器生成的TestNG测试
- 8. 静态编译在Groovy
- 9. 编译的Groovy类 - GC
- 10. STS将.groovy编译为.java
- 11. 无法编译Groovy枚举
- 12. Groovy编译期间的StackOverflowError
- 13. Groovy Java交叉编译instanceof
- 14. maven编译失败
- 15. Maven的EAR编译
- 16. Maven:无法编译
- 17. maven编译错误
- 18. Maven不编译webapp
- 19. maven编译失败
- 20. 从Maven的编译
- 21. Maven编译错误
- 22. Maven跳过编译
- 23. Maven GWT编译器编译两次?
- 24. maven dependencies groovy
- 25. maven安装时的Maven编译错误
- 26. Ant编译和maven包装
- 27. Maven - 无需编译安装
- 28. Maven编译:包不存在
- 29. Maven编译错误ProjectBuildingException
- 30. 如何编译maven文件?
-1有一个联合的Groovy-Java编译器。 – 2009-06-20 21:27:51