【问题标题】:How are the jsf-api and jsf-impl related?jsf-api 和 jsf-impl 有什么关系?
【发布时间】:2012-10-14 11:29:15
【问题描述】:

有一段时间我是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

【问题讨论】:

  • 只有一个jsf-api.jar不会导致这个错误。您实际上不是在使用 javaee.jar 吗? (它实际上不包含任何方法体)。
  • @BalusC 我几乎肯定没有使用 javaee.jar。我从 JBoss 快速入门中的 kitchensink 示例作为项目模板开始。我使用的所有 JEE 依赖项都由 jboss-javaee-6.0-with-tools BOM 定义。我只是开始研究 jsf-impls,因为我已经阅读了 javaee.jar 存根。链接问题中有更多信息,我很想阅读您的意见:)

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


【解决方案1】:

API:

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

实现:

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

这种分离并不像应有的那样干净,但这主要是目的。分离到这两个 jar 中是开发人员选择组织代码的方式,但在大多数情况下您都需要使用这两个库。

【讨论】:

  • 看来我误解了分离的目的和范围。感谢您的澄清
猜你喜欢
  • 2013-03-11
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 2012-07-12
  • 2010-12-23
  • 2011-01-06
  • 2011-07-17
相关资源
最近更新 更多