티스토리 뷰

SAXParseException은 예전에 비해 보기가 많이 힘들어졌다. 왜냐면 XML을 많이 안쓰니까.. 그래서 기억에서 가물가물 할때쯤 또 SAXParseException이 발생을 하였다. SAXParseException은 찾기 쉽다. 왜냐면 xml 파일이 잘 구성되었는지 확인만 하면 되니까! 이번에 발생한 오류의 내용은 다음과 같다. 

Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 33; columnNumber: 10; The end-tag for element type "plugin" must end with a '>' delimiter.
	at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:263)
	at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:127)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.<init>(XMLConfigBuilder.java:82)
	at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:518)
	at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:491)

어느 파일에서 났는지는 정확히 나오지 않는다. 하지만 springboot + mybatis 환경에서 java config를 사용한다면 SAXParseException이 발생할만한 부분은 query 작성하는 sql파일과 mybatis-config.xml 파일이 전부이다. (물론 더 있을수도 있다..) 의심되는 부분을 찾아보니 역시 컴퓨터의 잘못은 없다. 내가 잘못한거다. 

mybatis-config.xml 

<configuration>
...
    <plugins>
	    <plugin interceptor="oing.interceptor.QueryLogInterceptor">
    </plugins>
</configuration>

이 구문에서 잘못된 점이 보인다. 바로 plugin 설정을 닫지 않았다.

<plugin interceptor="oing.interceptor.QueryLogInterceptor" /

이런 실수를 한 것이다. The end-tag for element type "plugin" must end with a '>' delimiter 란 오류의 뜻을 조금만 곰곰히 생각해보면 정답은 다 나와있다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31