JavaService로 java프로그램을 서비스로 윈도우에 등록할 수 있다.
그런데 등록 후 net start 서비스명 이라고 쳐보면 Error 3534를 만나게 된다.
보통 두가지 원인이다.
첫번째는 Windows xp 의 경우 jvm.dll 이 필요로 하는 msvcr100.dll 이 Windows의 system32 디렉토리에 없어서이다.
이때는 Microsoft.com 에 가서 Visual C++ 배포가능 패키지를 다운받아 설치하면된다.
정확한 이름은 Microsoft Visual C++ 2010 Redistributable Package (x86)이고
http://www.microsoft.com/ko-kr/download/details.aspx?id=5555
위 링크에서 받으면된다.
이렇게 했는데도 안되면
만든 프로그램에 문제가 있는것이다.
주로 현재디렉토리가 바뀌는 문제이므로
JavaService.exe -install XXXService "C:\Program Files\Java\jre7\bin\client\jvm.dll" -Djava.class.path=.;C:\어쩌고\bin;C:\어쩌고\sqljdbc4.jar -Xms64M -Xmx128M -start 내클래스명 -params 각종파라메터 -out C:\어쩌고\out.txt -err C:\어쩌고\err.txt -current C:\어쩌고
와 같이 -current 옵션을 사용해서 강제로 현재디렉토리를 변경하면 된다.
디렉토리에 공백이 들어가는 경우 따옴표를 적절히 활용해주면된다.
No comments:
Post a Comment