java类可以从groovy类扩展吗?

java类可以从groovy类扩展吗?,java,groovy,Java,Groovy,大家好,我正在试用groovy,我有一个问题:java类是否可以从groovy类扩展,如果可以,maven项目中的项目结构是什么。我曾尝试将groovy eclipse编译器插件添加到pom文件中(并且在通过quickfix忽略“插件执行不包含在生命周期配置错误中”后),但我的groovy类从未被java类引用过,因此我无法扩展java类。这背后的原因是我正在探索groovy属性和方法缺少的特性,以便在我的一个项目中支持某种程度的动态行为。groovy和java源文件都位于同一文件夹src/ma

大家好,我正在试用groovy,我有一个问题:java类是否可以从groovy类扩展,如果可以,maven项目中的项目结构是什么。我曾尝试将groovy eclipse编译器插件添加到pom文件中(并且在通过quickfix忽略“插件执行不包含在生命周期配置错误中”后),但我的groovy类从未被java类引用过,因此我无法扩展java类。这背后的原因是我正在探索groovy属性和方法缺少的特性,以便在我的一个项目中支持某种程度的动态行为。groovy和java源文件都位于同一文件夹src/main/java下,并且在同一个包中。需要帮助。

是的,您可以在项目中混合使用Java和Groovy源代码,并且在两个方向上都有源代码依赖关系,包括“扩展”和“实现”

就Maven项目结构而言,最好的方法是使用联合编译。也就是说,与“src/main/Java”中有Java源代码和“src/main/Groovy”中有Groovy源代码不同,您可以将这两种源代码放在一个源代码文件夹中。通过这种方式,您可以获取现有的Java源代码并将其转换为Groovy,而无需将它们移动到其他位置(如果有理由,您也可以将Groovy源代码转换为Java)

这里有一些使用联合编译模型的基本项目结构示例:

“基本混合”为您提供联合编译。“基本标准”将为您提供源类型的规范maven分离。注意:您可以忽略
verify.bsh
,因为它是集成测试的一部分,而不是项目结构的一部分


这里有更多关于这些细节的讨论:

如果您想将groovy和java放在同一个文件夹下,然后放入
src/main/groovy
如果您有具体问题,请展示失败的代码并添加错误等。@emiles谢谢,我已经发现联合编译是前进的方向,非常感谢你的回答