Groovy не может запустить classpath

#java #groovy #classpath

#java #groovy #classpath

Вопрос:

У меня есть два файла, a.groovy и b.groovy. Первый из них — a.groovy, и я поместил его в папку abc.

 package abc;class A {void p (){print("haha")}};
  

Второй — b.groovy. Я поместил его в корневую папку.

 import abc.*; class B {void p(){new A().p()}}; new B().p();
  

Мой вопрос в том, как запустить b.groovy. Я попытался вызвать «groovy b.groovy -cp abc», но он по-прежнему не может запуститься, поскольку не может разрешить класс A.

Что мне делать?

Ответ №1:

Утилита командной строки groovy ищет файл с именем A.groovy для загрузки вашего класса. В противном случае он будет искать класс с именем A в classpath, но поскольку A еще не скомпилирован, он его не найдет.

Измените имя файла на A.groovy, и это должно сработать. В этом случае вам не понадобится флаг -cp.