티스토리 뷰
Framework/Persistent
[MyBatis] SAXParseException : The end-tag for element type "plugin" must end with a '>' delimiter 오류 조치
호형 2021. 11. 4. 16:31SAXParseException은 예전에 비해 보기가 많이 힘들어졌다. 왜냐면 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 란 오류의 뜻을 조금만 곰곰히 생각해보면 정답은 다 나와있다.
끝!
'Framework > Persistent' 카테고리의 다른 글
iBatis SqlMapConfig.xml datasource JDBC, JNDI 설정 (0) | 2021.09.28 |
---|---|
MyBatis select 결과 null 허용하기 (column, row) (0) | 2021.08.05 |
MyBatis The content of elements must consist of well-formed character data or markup 오류 조치 (0) | 2021.03.19 |
MyBatis Mapping 방식 (Query ID vs Interface) (0) | 2021.01.22 |
MyBatis란? 기본설정 및 사용방법 (1) | 2020.11.16 |
댓글