maven2에서 buildr로 마이그레이션 할 때 테스트가 실행되지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1165752

문제

간단한 Maven2 Java 프로젝트 (JMS 릴레이 시스템)가 있습니다. 첫 번째 버전을 출시 한 후 실제로 코딩하는 것보다 Maven을 구성하는 데 더 많은 시간을 보냈습니다.

다음 릴리스를 위해 우리는 빌드 프로세스를 정리하고 싶었고 누군가가 Builder로 마이그레이션 할 것을 제안했습니다. 그래서 나는 그 일을하는 일을했습니다.

웹 사이트의 문서에 따라 Buildr (1.3.4)를 설정합니다. 그런 다음 프로젝트의 루트에서 Buildr 명령을 입력 한 다음 Buildr에 정보를 제공하여 POM.XML을 기반으로 빌드 파일을 만듭니다. 그것은 잘 처리되고 모든 코드를 편집했습니다. buildr가 테스트를 시작할 때까지 모두 그레이비였습니다. 다음은 다음과 같습니다.

Test framework error: taskdef class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask cannot be found

명백히 지정된 클래스는 내 클래스 경로에 없습니다. 그러나 Buildr 문서에 따르면 기본 테스트에 필요한 모든 항목이 포함되어 있다고합니다. 그들의 문서는 개미에 대한 특정 라이브러리 또는 개미 버전이 필요하다고 말하지 않습니다. ANT 1.7.0이 설치되어 있지만 (내 클래스 경로에는 포함되지 않음).

전에 본 사람이 있습니까?


업데이트

나는 Maven 저장소에 악명 높은 개미 옵션 항아리를 찾았습니다. 내 테스트에 포함시켜 옵션이 문제를 해결하지 못했습니다.

-trace로 buildr 명령을 실행하면이 추가 정보가 제공됩니다 ...

Tests failed!
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:455:in `run_tests'
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:199:in `initialize'
도움이 되었습니까?

해결책

문제를 발견했습니다 ... 분명히 ANT-JUNIT.jar가 필요하지만 내 지역 저장소의 어떤 이유로 든 내 지역 사용자 계정 (OSX System)이 아닌 루트가 소유했습니다. 따라서 buildr에 접근 할 수 없었습니다. 로컬 리포지토리와 Reran Buildr에서 항목을 삭제했습니다 (필요한 항목을 다운로드했습니다).


업데이트

또한 이로 인해 몇 가지 다른 문제가 발생했습니다. 내 지역 저장소의 다른 몇 가지 항목에는 이상한 권한이있는 것 같습니다. 결국 저장소를 보관하고 Maven이 그것을 재구성하게했습니다. 이것은 내 모든 문제를 해결했습니다. 이제 100 줄 이상의 이전 pom.xml 파일에 비해 25 줄의 코드 라인 인 멋진 빌드 파일이 있습니다.

다른 팁

Junittask가 ClassPath에 있지 않기 때문에 그 오류가 발생합니다. 나는 buildr에 익숙하지 않으므로 Junit Jars를 지정 해야하는지 말할 수는 없지만 Buildr이 System ClassPath를 사용하는 경우 Junit을 추가하여 어떤 일이 발생하는지 확인하십시오.

주니트가 클래스 경로로 해킹 된 상태에서 빌드가 실행되는지 확인한 후에는 예상대로 실행될 때까지 구성을 변경하거나 그대로 두십시오.

문서의 관련 부분에 대한 참조를 게시 할 수 있습니까? 필수 항목이 포함되어 있다는 사실을 (사이트를 간단히 읽었을 때) 아무것도 보지 못했습니다.

모든 보석을 다운로드하지 않았을 가능성이 있습니까? "GEM Update -시스템"을 실행하여 Ruby를 업데이트하면 "GEM Update Buildr"을 업데이트하면 필요한 종속성이 모두 설치되었는지 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top