cygwin에서 classpath와 함께 java 콘솔 프로그램 실행하기
책(Groovy Recipes)을 보다가 간단한 groovy 프로그램을 groovyc로 컴파일한 후 실행하려고 했더니 잘 안된다.
$ java -classpath .:$GROOVY_HOME/embeddable/groovy-all-1.7.0.jar Greet
Exception in thread "main" java.lang.NoClassDefFoundError: Greet
Caused by: java.lang.ClassNotFoundException: Greet
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
보아하니 java 클래스로 컴파일된 groovy 파일을 실행하려면 필요한 groovy-all-1.7.0.jar 파일이 classpath로 안잡히는 거다.
cygwin에서 실행되는 java.exe는 윈도우용이라서 cygwin의 path 방식(유닉스 형식)을 이해할 수가 없다. 따라서 윈도우 방식의 path로 바꿔줘야한다.
$ java -classpath `cygpath -wp .:$GROOVY_HOME/embeddable/groovy-all-1.7.0.jar` Greet
Groovy Rocks!
'Developer Tools' 카테고리의 다른 글
넷빈즈 antialias 설정 (0) | 2012.05.27 |
---|---|
이클립스 - log4j.xml 파일의 Validation 문제 (0) | 2012.05.27 |
로컬 maven 저장소에 oracle jdbc 드라이버 인스톨 (0) | 2010.08.08 |
이클립스에서 log4j 설정과 함께 자바 어플리케이션 실행 (0) | 2010.02.16 |
SlickRun (1) | 2007.10.07 |