강좌/Spring @MVC 삽질

04 일차 - 스프링 설정 파일 네임스페이스 추가시 주의 사항

여름나라겨울이야기 2013. 6. 14. 18:03
728x90

root-context.xml 또는 servlet-context.xml 에 네임스페이스 추가하는 경우


pom.xml 에 관련 라이브러리 jar 파일이 자동으로 dependency 설정된다.


이 때 스프링 관련 라이브러리에 지정된 버전과 새로 받은 jar 파일이 버전이 안 맞는 경우 추적하기 힘든 에러 메시지와 함께 웹 프로젝트 구동에 실패하게 된다.  버전 정보를 꼭 맞추어 주도록 하자.


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
   
    <!-- Root Context: defines shared resources visible to all other web components -->
    <jdbc:embedded-database id="datasource" type="HSQL">
        <jdbc:script location="classpath:BoardSchema.sql"/>
        <jdbc:script location="classpath:BoardData.sql"/>
    </jdbc:embedded-database>
</beans>


위와 같이 jdbc 네임스페이스 추가한 경우 pom.xml 은 다음과 같이 자동으로 dependency 를 추가한다.


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.wolf</groupId>
    <artifactId>springmvc</artifactId>
    <name>WOLF</name>
    <packaging>war</packaging>
    <version>1.0.0-BUILD-SNAPSHOT</version>
    <properties>
        <java-version>1.6</java-version>
        <org.springframework-version>3.2.3.RELEASE</org.springframework-version>
        <org.aspectj-version>1.6.10</org.aspectj-version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>2.2.9</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.1.1.RELEASE</version>
        </dependency>


따라서 Maven Clean, Maven Install 은 정상적으로 Build Success 볼 수 있으나 Run As > Run On Server 시에는 에러가 난다.

결론적으로 pom.xml 을 다음 처러 수정해 줘야 한다.


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.wolf</groupId>
    <artifactId>springmvc</artifactId>
    <name>WOLF</name>
    <packaging>war</packaging>
    <version>1.0.0-BUILD-SNAPSHOT</version>
    <properties>
        <java-version>1.6</java-version>
        <org.springframework-version>3.2.3.RELEASE</org.springframework-version>
        <org.aspectj-version>1.6.10</org.aspectj-version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>2.2.9</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>


반응형

'강좌 > Spring @MVC 삽질' 카테고리의 다른 글

03 일차 - Git Clone  (0) 2013.05.21
02 일차 - GitHub DVCS 연동  (0) 2013.05.17
01 일차 - 프로젝트 생성 & 정적 컨텐츠 사용  (4) 2013.05.16