2012-10-24 4 views
3

잠시 동안 나는 struggling to get an arquillian test case running입니다. 이 테스트에는 JSF 클래스를 기반으로하는 클래스가 포함되며 javax.faces.model.DataModel에 대한 구현을 찾을 수 없으므로 ClassFormatError: Absent Code으로 실행되었습니다.jsf-api와 jsf-impl은 어떻게 관련이 있습니까?

내 테스트에서는 JSF 구현을 테스트 할 필요가 있지만, 발견 한 구현 (예 : JBoss에 번들 된 구현)에는 패키지가없고 com.sun 만 있고, DataModel 클래스

여기서 내가 어떻게 작동하는지 오해하고 있습니까? impl이 실제로 api을 구현하지 않는 이유는 무엇입니까?

+0

이 오류는 jsf-api.jar 만 있으면 발생하지 않습니다. 실제로 javaee.jar를 사용하지 않습니까? (실제로는 방법 본체가 실제로 포함되지 않습니다). – BalusC

+0

@BalusC 나는 javaee.jar를 거의 사용하지 않고있다. JBoss quickstarts의'kitchensink' 예제를 프로젝트 템플릿으로 시작했습니다. 내가 사용하고있는 모든 JEE 의존성은'jboss-javaee-6.0-with-tools' BOM에 의해 정의됩니다. javaee.jar 스텁에 대해 읽었 기 때문에 jsf-impls에 대해 조사하기 시작했습니다. 연결된 질문에 더 많은 정보가 있습니다. 나는 당신의 의견을 읽고 싶습니다 :) – kostja

답변

1

이 API : 소비자가

구현에 코드를 작성할 수 있습니다 할

  • 공공 유형 :

    • 개인 유형의 소비자는
    • 구현 세부 정보에 의존해서는 안 마크 업 (예 : HTML)과 컨테이너 (예 : 서블릿)와 같은 것들을 포함한다.

    이 분리는 그렇게 깨끗하지는 않지만 주로 의도 된 것입니다. 이 두 항아리로 분리하는 방법은 개발자가 코드를 구성하는 방법이지만 대부분의 상황에서 라이브러리를 활용해야합니다.

+0

나는 분리의 목적과 범위를 오해 한 것 같습니다. 설명 주셔서 감사합니다. – kostja

관련 문제