2011-11-10 2 views
16

나는 groovyc를 사용하기 위해 노력하고있어,하지만 뭔가 옳지 않다 : 나는 무엇을 놓치고명령 행에서 Groovy 스크립트를 Java로 실행하려면 어떻게해야합니까?

>echo println("Hello world") > test.groovy 
>groovy test.groovy 
Hello world 
>groovyc test.groovy 
>java -cp C:\utils\groovy-1.8.1\embeddable\groovy-all-1.8.1.jar test 
Error: Could not find or load main class test 

>dir test.class 
... 

11/10/2011 02:54 PM    7,104 test.class 

?

답변

17

-cp 스위치로 클래스 경로를 지정하면 기본값 (현재 디렉토리)이 덮어 쓰여 JVM에서 클래스를 찾을 수 없습니다.

하는 클래스 경로에 현재 디렉토리를 추가하고, 모든 작동합니다

>java -cp C:\utils\groovy-1.8.1\embeddable\groovy-all-1.8.1.jar;. test 
Hello, world 
+1

나는 전에 ... 다시 내가'C를 추가 할 때 것을 시도했다. 그루비로 바꾼 후에 시도하지 마세요. 모두 매력처럼 작동합니다. – ripper234

+0

리눅스에서는'java -cp "/path_to/groovy-all-x.x.x.jar :" 테스트' – lepe

8

당신이 유닉스 기반 시스템 (Linux 또는 Mac)를 사용하는 경우, 당신은 대신 클래스 경로 항목 구분을 위해 세미콜론의 결장이 필요하다는 것을 확인하십시오 :

>java -cp /path/to/groovy/embeddable/groovy-all-1.8.1.jar:. test 
Hello, world 
4

main 메소드가없는 클래스가 누락되어 이러한 스 니펫이 작동하지 않을지 확신하지 못합니다. 적절한 명령 줄은 다음과 같습니다 클래스 경로에 \ UTILS \ 끝내-1.8-1 \ lib` :

java -cp /path/to/groovy/embeddable/groovy-all-1.8.1.jar groovy.lang.GroovyShell test.groovy 
관련 문제