본문 바로가기
2014년/지속적 통합 Tool-Maven

Maven Failed to load ApplicationContext

by BroBroBro 2011. 11. 23.
maven 에서 test goal 실행시에 위와같은 메세지를 만날수 있다.

이유는 여러가지가 있으며 그중에 하나의 가능성을 여기에 기재합니다.

Failed to load ApplicationContext 이메세지 아래에 몇몇 class파일들을 못찾을때는 해당 라이브러리가 없는것이다.

maven의 repository에 해당 lib를 넣어주어야 한다.

이는 CI구축시 hudson과 연동시에도 같은 문제가 발생할수있다.

추가사항으로 maven은 레파지토리의 종류가 3가지 있는데 중앙,내부,로컬 이있다.

로컬에서 사용하고 있는것이 서버로 베포될시에는 해당 라이브러리가 중앙(central)또는 내부(nexus)에 있어야한다.(로컬->c:\user\.m2\repository\ 또는 setting.xml파일에 명시된 경로)

우선 가장 간단한 방법으로 pom.xml에 아래의 사항을 추가해준다.

예를 들어서 마이플랫폼과 연동을 위하여 miplatform-3.2.jar 파일을 로컬에서 사용하고 있었다면

  <dependency>
   <groupId>com.kctc</groupId>
   <artifactId>miplatform</artifactId>
   <version>3.2</version>
   <scope>system</scope>
   <systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\miplatform-3.2.jar</systemPath>
  </dependency>