Pergunta

Eu percorri o doc Groovy e não ter encontrado um análogo, mas as coisas não são organizados um pouco ao acaso. Estou mudando de beanshell para Groovy e estava usando o método fonte ( "fileloc") em beanshell para inline-incluem outra, utilidade Beanshell scripts para reutilização. Existe uma função padrão de fazer isso em Groovy ou uma prática recomendada?

Foi útil?

Solução

Você pode reunir todas as partes de seus scripts em um String, em seguida, ter um objeto GroovyShell avaliar o seu script. Eu escolhi este acima dos exemplos DSL de 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)

Outras dicas

A razão que você não está encontrando isso é porque Groovy é compilado. Seu código Groovy é compilado em bytecode Java que é executado pela JVM direita ao lado qualquer código Java em seu aplicativo. É por isso que coisas como escrever testes de unidade Groovified para grandes massas de código Java requer zero esforço extra.

O BeanShell é um Java-como interpretada língua, para sorver em outro tem de código em tempo de execução não é grande coisa.

Dito isso, você pode estar interessado em groovysh e seu comando load .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top