명령 줄에서 패키지에서 그루비 클래스를 실행합니다.
-
06-09-2019 - |
문제
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'에 별명을 추가하여 덜 장황하게 만들 수 있습니다.
제휴하지 않습니다 StackOverflow