Как запустить Groovy файл, который включает в себя другие файлы Groovy, пожалуйста? - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть три файла groovy: /my.groovy, /my_dir/util.groovy, /my_dir/base.groovy

my.groovy:

def shell = new GroovyShell()
def util = shell.parse(new File("my_dir/util.groovy"))
println(util.run());

util.groovy:

def getName(String name) {
    def base = new base();
    return name * base.getTimes();
}

println(getName('hi,'));

base.groovy:

def getTimes() {
    return 20;
}

Теперь я запускаю groovy my.groovy, и он не может работать, потому что не может разрешить базовые классы.Если все эти файлы находятся в одном и том же каталоге, он может работать.Как это сделать в этом случае, пожалуйста?(без компиляции)

1 Ответ

0 голосов
/ 15 ноября 2018

A.groovy

def b=new B()
println b.greet("world")

. / MYDIR / B.groovy

def greet(n){
    return "hello $n"
}

предположим, что вы находитесь в каталоге, где находится A.groovy

как запустить:

groovy -cp ./mydir/ A.groovy

в этом случае вы запускаете класс A и указываете поиск других классов из каталога ./mydir/


или вы можете использовать пакеты:

A.groovy

import mydir.*

def b=new B()
println b.greet("world")

. / MYDIR / B.groovy

package mydir

def greet(n){
    return "hello $n"
}

как запустить:

groovy -cp . A.groovy
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...