기술지원 문의

어플리케이션 환경 파일을 찾는데 에러...
강석진 / 2003-07-18 00:00

톰켓에서 사용하던 기존 어플리케이션을 레진에서 테스트하는데 다음과 같은 에러가 발생했습니다. 도움 부탁드립니다.

어플리케이션의 환경파일을 찾을때 다음과 같은 코드로 했습니다.
String sMsgfile = 
Configuration.class.getProtectionDomain().getCodeSource().getLocation().getFile() + File.separator + \"conf\" + File.separator + \"aaa.conf\";
File oFile = new File(sMsgfile);

헌데 여기서 getProtectionDomain() 메소드 호출시 널포인트 에러가 발생합니다.

자바클래스는 D:\\CMS2_Source\\WEB-INF\\classes에 있고
웹 루트는 D:\\CMS2_Source\\web 입니다.

resin.conf는 다음과 같습니다.
...
D:\\CMS2_Source\\web
...

  D:\\CMS2_Source\\web\\work
...
                   source=D:\\CMS2_Source\\WEB-INF\\classes
                 compile=true/>


해서...

getProtectionDomain()를 호출시 시스템에 리턴된 값을 뿌려보면...

CompilingClassLoader src:/D:/CMS2_Source/web/WEB-INF/classes

라는 메세지가 보입니다.

올바로 된다면 이 CompilingClassLoader가 :/D:/CMS2_Source/WEB-INF/classes이어야 하지 않나요?
왜 이런 현상이 나는걸까요?
뭔가 resin.conf를 잘못해주고 있는거 같은데...도움 부탁드립니다.

Re:어플리케이션 환경 파일을 찾는데 에러...
관리자 / 2003-07-18 00:00

첨부하신 resin.conf를 보면

  D:\\CMS2_Source\\WEB-INF\\classes
  
   D:\\CMS2_Source\\web
    
     D:\\CMS2_Source\\web\\work 
                     source=D:\\CMS2_Source\\WEB-INF\\classes
                 compile=true/>
    
이렇게 되어 있는데요.

----------------------------------------------

  D:\\CMS2_Source\\web
  
  
    
       
                       source=D:\\CMS2_Source\\WEB-INF\\classes
                 compile=true/>
    
----------------------------------------------
처럼 바꾸어 테스트해보시지요.

web-app의 구성은 자신의 context를 갖는 
기본구성이 제일 좋다고 생각합니다.
그렇게 하면 resin의 경우 로 설정된 놈을 
그대로 떼어 다른 서버로 이식이 아주 편합니다.






--강석진 님의 글 [2003-07-18 14:14:03]
>톰켓에서 사용하던 기존 어플리케이션을 레진에서 테스트하는데 다음과 같은 에러가 발생했습니다. 도움 부탁드립니다.

어플리케이션의 환경파일을 찾을때 다음과 같은 코드로 했습니다.
String sMsgfile = 
Configuration.class.getProtectionDomain().getCodeSource().getLocation().getFile() + File.separator + \"conf\" + File.separator + \"aaa.conf\";
File oFile = new File(sMsgfile);

헌데 여기서 getProtectionDomain() 메소드 호출시 널포인트 에러가 발생합니다.

자바클래스는 D:\\CMS2_Source\\WEB-INF\\classes에 있고
웹 루트는 D:\\CMS2_Source\\web 입니다.

resin.conf는 다음과 같습니다.
...
D:\\CMS2_Source\\web
...

  D:\\CMS2_Source\\web\\work
...
                   source=D:\\CMS2_Source\\WEB-INF\\classes
                 compile=true/>


해서...

getProtectionDomain()를 호출시 시스템에 리턴된 값을 뿌려보면...

CompilingClassLoader src:/D:/CMS2_Source/web/WEB-INF/classes

라는 메세지가 보입니다.

올바로 된다면 이 CompilingClassLoader가 :/D:/CMS2_Source/WEB-INF/classes이어야 하지 않나요?
왜 이런 현상이 나는걸까요?
뭔가 resin.conf를 잘못해주고 있는거 같은데...도움 부탁드립니다.