Tomcat 구동 오류 ( Maven 사용 시)
1. root-context.xml 오류
심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 33 in XML document from ServletContext resource [/WEB-INF/spring/root-context.xml]
is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 33; columnNumber: 57; cvc-complex-type.2.4.c:
일치하는 와일드 카드 문자가 엄격하게 적용되지만 'context:component-scan' 요소에 대한 선언을 찾을 수 없습니다.
>> root-context.xml 의
<context:component-scan base-package="org.spb.sample"></context:component-scan> 주석 처리
임시 테스트용 파일이었어서 지워도 문제 없음.
2. hikariConfig - driverClassName 오류
심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hikariConfig' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]:
Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.RuntimeException:
Failed to load driver class oracle.jdbc.driver.OracleDeriver in either of HikariConfig class loader or Thread context classloader
>> 1) pom.xml - log4jdbc-log4j2-jdbc4 라이브러리 추가
<!-- log4jdbc-log4j2-jdbc4 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
2) 'src/main/resources' 경로에 log4jdbclog4jdbc.log4j2.properties 파일 생성 및 코드 추가

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
3) root-context.xml - JDBC 드라이버와 URL 정보 수정
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDeriver"></property>
<property name="jdbcUrl"
value="jdbc:oracle:thin:@localhost:1521:java"></property>
<property name="username" value="book_ex"></property>
<property name="password" value="1234"></property>
</bean>
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName"
value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<property name="jdbcUrl"
value="jdbc:log4jdbc:oracle:thin:@localhost:1521:java"></property>
<property name="username" value="book_ex"></property>
<property name="password" value="1234"></property>
</bean>
4) pom.xml - log4j-api, lo4g-core 라이브러리 추가
<!-- log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0.1</version>
</dependency>
<!-- log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.1</version>
</dependency>

참고 : https://okky.kr/article/708472?note=1963706 ,
https://kimvampa.tistory.com/63