아이바티스

이클립스 XML(아이바티스,마이바티스등..) 자동완성 기능 오류 및 해결

사라링 2017. 4. 18. 11:26

언제 부턴가.. 이클립스 에서 아이바티스 의 자동 완성 기능이 정상적으로 처리가 되지 않아 확인결과


기존 url 이 ( http://www.ibatis.com/dtd/sql-map-2.dtd  <-- 기존 )


지원을 하지 않아 발생 하며 , 지원이 되는 url 로 바꾸더라도 


최근 사이트의 경우 망분리로 인하여 외부 네트워크가 되지 않아 자동 완성이 안되는 상황이 많아 정리 토록 함. 


기존 xml 파일의 경우  아이바티스나 마이바티스 사용하는 경우 (예시는 아이바티스)


최상단에 . 


 <?xml version="1.0" encoding="euc-kr"?>

<!DOCTYPE sqlMap

PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"

"http://www.ibatis.com/dtd/sql-map-2.dtd">


와 같이 정의가 되어 있는데 . 기존의 경로가 다르거나 외부 접근이 안되는 경우 자동 완성이 안되는 것이다. 



접근이 가능한 경우 위 상단에 표시 되겠지만 현재 정상적으로 처리가 되지 않기 때문에 표시가 되지 않는다. 


따라서 dtd 파일을 로컬 PC 에 다운 받아 설정 하는 것이 가장 이상적이다. 


다운 경로 . http://ibatis.apache.org/dtd/

 

sql-map-2.dtd



해당 경로 에서 직접 sql-map-2.dtd 파일을 다운 받은 경우 이제 이클립스 에 등록을 해야 한다. 


preference > xml > xml catalog 

설정 에서 user specified enteris 에 포함을 시켜야 한다. 



입력 하는 부분은 두가지 인데 location  은 localpc 에 다운받은 dtd 파일을 넣으면 되고 (워크스페이스에 없다면 file system 클릭)

(공통 관리자가 workspace 에 포함 시키는 것도 좋은 방법 일듯 하다. 추가는 알아서 해야 겠지만.. 워크스페이스 경로는 개발자 마다 다름으로 xml 에 정의는 힘들듯.. )


key 부분에는 기존의 PUBLIC 으로 정의 되는 부분을 넣으면 된다. 

-//iBATIS.com//DTD SQL Map 2.0//EN




위와 같이 정상적으로 등록이 완료 되면 ( 자동완성이 안되는 경우 eclipse 종료후 다시 시작) 


 ctrl+space 가 안되는 


상황에서 하단과 같이 



정상적으로 아이바티스의 자동 완성기능이 작동 됨을 확인 할수 있다. 


끝!!!!