Я перехожу на Groovy с Java.
У меня есть неабстрактный класс Groovy, когда я компилирую его и просматриваю байт-код, я вижу, что мой класс реализует интерфейс GroovyObject, но в байт-коде моего класса нет реализации методов GroovyObject. Я думал, что байт-код, сгенерированный компилятором Groovy, должен быть допустимым байт-кодом для исполняемого файла Java (конечно, мы должны включить groovy-all-x.x.x.jar в путь к классам), но похоже, что это не так.
Я считаю, что с использованием groovy-all-x.x.x.jar во время выполнения происходит какое-то волшебство, но я не уверен, что именно там происходит.
Любая идея ?
когда класс Groovy компилируется в байт-код, я должен иметь возможность запускать этот класс с исполняемым файлом java (просто добавляя Groovy jar в путь к классам), верно? Но для java этот класс недействителен, поскольку он не реализует свой контракт. Я что-то пропустил ?
Да, для вызова кода Groovy вам понадобится Groovy jar, исполняющая система Groovy; Это то, что обрабатывает отправку методов для кода Groovy. Книга «Groovy в действии» подробно объясняет, как взаимодействуют коды Java и Groovy.



