매우 이상한 상황이 있습니다. 나는 그들을 빌드하기 위해 tycho와 maven을 사용하고있는 eclipse 플러그인 프로젝트를 가지고있다. 프로젝트 중 하나에서 JDBC 드라이버를 사용했고이 프로젝트를 테스트 할 테스트 플러그인이 있습니다. eclipse p2 저장소에서는 com.mysql.jdbc 플러그인을 사용할 수 없었으므로 (자체 p2가 없음) jdbc 플러그인을 가져 와서 OSGi 플러그인을 작성하고 로컬 플러그인에 종속성을 추가했습니다.JUnit 테스트가 java.lang.ClassNotFoundException으로 실패합니다. Tycho 환경의 com.mysql.jdbc.Driver
여러 개의 Eclipse 작업 공간이 있습니다. 테스트 및 jdbc 플러그인을 작성한 첫 번째 작업 공간에서만 junit 테스트가 -> Junit 테스트 명령으로 실행되는 Eclipse를 사용하여 실행될 때 작동합니다.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
가 나는 또한 티코 통합 테스트 (MVN 통합 테스트를들이받은)를 사용하여 시도하지만하지 않습니다 때 다른 사람 또는 나에게 소스 코드를 체크 아웃하고 다른 작업 공간에서 테스트를 실행하려고,이 예외가 발생합니다 어느 쪽도 일하지 않고 나는 여전히 같은 예외를 얻는다. 이 많은 검색을 시도했지만 대답을 찾을 수 없습니다.
업데이트 : 타이코 문제가 아니라고 생각합니다. 방금 com.jdbc.mysql jar를 기반으로 Eclipse 플러그를 작성하려고했습니다. 내가 만든 작업 공간이 잘 작동하고 있습니다. 그러나 코드를 커밋하고 프로젝트를 다른 작업 영역으로 가져 오면 테스트가 중단됩니다. 모든 설정은 두 작업 공간에서 동일합니다. 다른 작업 공간에서 작업하는 경우 ClassNotFound 예외가 발생합니다!
필자는 매우 비슷한 문제가 있으며 Tycho/EclipseRCP 환경에서 Junit을 사용하는 것에 대해 빠뜨린다고 생각했습니다. 그래서 지난주 나는 질문을 던졌습니다. http://stackoverflow.com/questions/16166866/how-to-follow-test-first-approach-with-equinox-osgi-tycho-eclipse-rcp-enviro 이제 저는 문제에 대한 힌트가 더 많으므로 나는 오버 렐리 스 (oberlies)의 대답에 대한 설명으로 간략하게 설명했다. 시스템/구성 수준에 문제가 있다고 가정합니다. 또한 설정과 관련하여 아래의 모든 답변은 테스트를 전혀 실행할 수없는 경우에만 도움이 될 것이라고 생각합니다. –