이전글에서는 윈도우에서 알아봤고 이번에는 리눅스에서 메일 테스트를 위해서 자바 단순 어플리케이션을 만들었고 잘 되는지 콘솔에서 실행해 보려고 했다.
어 어떻게 하더라..
맨날 이클립스에서만 하다 보니 콘솔에서 하는 방법을 맨날 까먹는다.
다시 정리해본다.
일단 소스는 test.SendMailTest 처럼 test 패키지를 만들었다.
그냥 이렇게 하면 안되는데 다짜고짜 실행해본다.
일단 경로로 간다.
[s@s test]$ java mail.SendMailTest
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Address
에러메시지를 보니 javax/mail/Address 뭔가 자바 메일 api가 클래스패스로 안잡힌듯 하다.
그래서 잡아준다.
[s@s test]$ java -cp /data/webapp/WEB-INF/lib/java-mail-1.4.jar mail.SendMailTest
오류: 기본 클래스 mail.SendMailTest을(를) 찾거나 로드할 수 없습니다.
에러메시지가 달라졌다!!
일단 자바 메일 api는 클래스 패스로 잘 잡힌것 같고.. 아! 본인 클래스를 못찾고 있네!!!
그럼 머 본인 클래스를 클래스패스로 잡아주지 머
.
쩜 하나만 찍어주면 된다.
그럼 이제 다시 해보면
[s@s test]$ java -cp /data/webapp/WEB-INF/lib/java-mail-1.4.jar;. mail.SendMailTest
어 이상하다 윈도우 처럼 했는데 안되네..
리눅스는 윈도우에서 쓰는 ; 게 아니고 : 다.
그래서 다시 수정
[s@s test]$ java -cp /data/webapp/WEB-INF/lib/java-mail-1.4.jar:. mail.SendMailTest
헉! 그래도 안된다.
클래스 패스 부분을 "로 묶어줘야 된다.
[s@s test]$ java -cp "/data/webapp/WEB-INF/lib/java-mail-1.4.jar:." mail.SendMailTest
success
성공이닷!