12
java와 같이 패키지를 점으로 지정하여 Groovy 클래스를 실행하는 방법이 있습니까?패키지에서 명령 행에서 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
. 클래스 패스를 설정하는 다양한 방법을 시도했지만 아무 소용이 없습니다.
옳은 대답 인 것처럼 들리지만 작동하지 않습니다. 나는 "my.package"를 예제로 사용했는데, 그건 잘못된 것입니다. 어쨌든, 허용되는 패키지 이름을 사용하고 groovyc로 컴파일 한 후에도 작동하지 않습니다. groovyc my/some/MyClass.groovy 내보내기 CLASSPATH =. LS 내/일부/MyClass.class 내를/어떤/MyClass.class 끝내 가 겁에 질린 my.some.MyClass : java.io.FileNotFoundException : /Users/olivier/my.some.MyClass (/ 사용자/올리비에/my.some.MyClass) ? –
네 말이 맞아, 어떻게 그리워했는지 모르겠다. 조금 부정 행위를해도 괜찮 으면 groovy 명령을 java + classpath : java -cp /usr/share/java/groovy/embeddable/groovy-all-1.6.3.jar :로 바꿀 수 있습니다. my.some.MyClass 예를 들어 'g_java'에 별명을 추가하여 덜 자세하게 만들 수 있습니다. –
감사합니다. 그것은 작동합니다. 그래서, 원래의 질문에 대한 대답은 : 아니오, Groovy에서는 이런 식으로 작동하지 않습니다. javac와 java를 사용해야합니다. –