jsf-api和jsf-impl是如何相关的?

时间:2012-10-24 12:12:29

标签: java jsf java-ee jsf-2 jboss-arquillian

有一段时间我struggling to get an arquillian test case running。此测试涉及以JSF类为根的类,并且由于找不到ClassFormatError: Absent Code的实现而遇到javax.faces.model.DataModel

我的假设是我需要为我的测试提供一个JSF实现,但是我找到的实现(例如与JBoss捆绑的实现)没有javax.faces包,只有com.sun,我找不到DataModel类的痕迹。

我在哪里误解了它的工作方式?为什么impl实际上没有实现api

1 个答案:

答案 0 :(得分:1)

API:

  • 消费者可以将代码编写到的公共类型

实施:

  • 私人类型消费者不应该依赖
  • 实现细节,包括标记(例如HTML)和容器(例如servlet)

这种分离并不像应该的那样干净,但这主要是意图。分成这两个罐子是开发人员选择组织代码的方式,但是你需要在大多数情况下都使用这两个库。