TEST case 실행은 가능하나 maven에서 fail
- 작성자 :
- 김*민
- 작성일 :
- 2011-09-18 14:20:37
- 조회수 :
- 1,865
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
TEST case를 개별적으로 예를 들어
aTest.java 실행하면 ok 라고 나옵니다.
하지만 maven 블드를 하면
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0
이렇게 나오며
surefire-reports를 확인해보면 JDBC드라이버를 못찾는다고나옵니다.
@Transactional 을 사용했습니다.
왜 빌드시에만 JDBC드라이버를 못찾는건가요?
별도의 설정이 필요한건지요?
aTest.java 실행하면 ok 라고 나옵니다.
하지만 maven 블드를 하면
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0
이렇게 나오며
surefire-reports를 확인해보면 JDBC드라이버를 못찾는다고나옵니다.
@Transactional 을 사용했습니다.
왜 빌드시에만 JDBC드라이버를 못찾는건가요?
별도의 설정이 필요한건지요?
A
안녕하세요.. 김재민님..
JDBC Driver가 pom.xml에 등록되지 않은 신 경우 같습니다.
eclipse에서는 WEB-INF/lib 에 있는 jar들을 자동으로 Web Libraries 항목으로 등록을 해주지만..
maven의 경우는 pom.xml에 등록된 library들만 사용합니다.
JDBC Driver 같은 경우는 .. 실행시에만 필요하기 때문에..
WEB-INF/lib에만 넣으셔도 되지만..
maven에서 test case에 필요하신 경우에는..
pom.xml의 dependency로 추가해 주셔야합니다.
문제는.. Oracle이나 대부분의 JDBC Driver는 central repository에 등록되어 있지 않기 때문에.. nexus를사용하시거나.. local repository에 임의로 넣어주셔야 합니다.
nexus를 사용하실 경우는 개발환경 가이드를 참조하셔서 JDBC Driver를 등록해 주시면 되고..
local repository는 다음과 같은 규칙으로 파일로 복사해 넣으시면 됩니다.
ex:)
<dependency>
<groupId>oracle.ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
</dependency>
[repository]/oracle/ojdbc/ojdbc/14/ojdbc-14.jar
파일명 : artifactId-version.jar (ojdbc-14.jar)
디렉토리 (최하위) : version 명 (14)
디렉토리 (차상위) : artifactId 명 (ojdbc)
디렉토리 (나머지 상위) : groupId ("."는 디렉토로로 구분, oracle/ojdbc)
그럼.. 즐거운 하루되십시오.
감사합니다.
JDBC Driver가 pom.xml에 등록되지 않은 신 경우 같습니다.
eclipse에서는 WEB-INF/lib 에 있는 jar들을 자동으로 Web Libraries 항목으로 등록을 해주지만..
maven의 경우는 pom.xml에 등록된 library들만 사용합니다.
JDBC Driver 같은 경우는 .. 실행시에만 필요하기 때문에..
WEB-INF/lib에만 넣으셔도 되지만..
maven에서 test case에 필요하신 경우에는..
pom.xml의 dependency로 추가해 주셔야합니다.
문제는.. Oracle이나 대부분의 JDBC Driver는 central repository에 등록되어 있지 않기 때문에.. nexus를사용하시거나.. local repository에 임의로 넣어주셔야 합니다.
nexus를 사용하실 경우는 개발환경 가이드를 참조하셔서 JDBC Driver를 등록해 주시면 되고..
local repository는 다음과 같은 규칙으로 파일로 복사해 넣으시면 됩니다.
ex:)
<dependency>
<groupId>oracle.ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
</dependency>
[repository]/oracle/ojdbc/ojdbc/14/ojdbc-14.jar
파일명 : artifactId-version.jar (ojdbc-14.jar)
디렉토리 (최하위) : version 명 (14)
디렉토리 (차상위) : artifactId 명 (ojdbc)
디렉토리 (나머지 상위) : groupId ("."는 디렉토로로 구분, oracle/ojdbc)
그럼.. 즐거운 하루되십시오.
감사합니다.