문제

Java와 마찬가지로 점으로 패키지를 지정하여 Groovy 클래스를 실행하는 방법이 있습니까?

예 : 파일 ./my/package/myclass.groovy :

package my.package

class MyClass {
  static void main(String[] args) {
    println "ok"
  }
}
> cd my/package
my/package> groovy MyClass
ok
> cd ../..
> groovy my/package/MyClass.groovy
ok
> groovy my/package/MyClass
ok
> groovy my.package.MyClass
Caught: java.io.FileNotFoundException: my.package.MyClass

마지막 명령이 작동하기를 기대하고있었습니다. 나는 클래스 경로를 설정하는 다양한 방법을 시도했다.

도움이 되었습니까?

해결책

가장 먼저, 패키지 예약 키워드이므로 AA 패키지 이름으로 사용할 수 없습니다.

둘째, DOT 표기법은 스크립트가 아닌 클래스에 사용되므로 Groovy에서는 그렇게 할 수 없으므로 사용하려면 컴파일 된 클래스 파일이 필요합니다.

그래도 그루비 명령을 Java + ClassPath로 바꿀 수 있습니다.

java -cp /usr/share/java/groovy/embeddable/groovy-all-1.6.3.jar:. my.some.MyClass

예를 들어 'g_java'에 별명을 추가하여 덜 장황하게 만들 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top