Есть ли классный эквивалент метода beanshell source ()?

StackOverflow https://stackoverflow.com/questions/303113

  •  08-07-2019
  •  | 
  •  

Вопрос

Я просмотрел отличный документ и не нашел аналога, но там все организовано немного беспорядочно. Я переключаюсь с beanshell на groovy и использую метод источника (" fileloc ") в beanshell, чтобы inline-включить другие, служебные сценарии beanshell для повторного использования. Есть ли стандартная функция, чтобы сделать это в Groovy или лучшие практики?

Это было полезно?

Решение

Вы можете собрать все части ваших сценариев в строку, а затем использовать объект GroovyShell для оценки вашего сценария. Я взял это из примеров DSL Venkat Subramanium.

part1 = new File("part1.groovy").text
part2 = new File("part2.groovy").text

script = """
println "starting execution"
${part1}
${part2}
println "done execution"
"""

new GroovyShell().evaluate(script)

Другие советы

Причина, по которой вы этого не находите, в том, что Groovy компилируется. Ваш Groovy-код компилируется в байт-код Java, который запускается JVM вместе с любым Java-кодом в вашем приложении. Вот почему такие вещи, как написание Groovified модульных тестов для больших тел Java-кода, не требуют дополнительных усилий.

BeanShell - это Java-подобный интерпретируемый язык, так что слежка за другим полученным кодом во время выполнения не составляет большого труда.

Тем не менее, вас может заинтересовать groovysh и его загрузить команду.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top