2012-10-24 25 views
3

有一段時間我是struggling to get an arquillian test case running。此測試涉及以JSF類爲根的類,因爲無法找到javax.faces.model.DataModel的實現,所以它運行到ClassFormatError: Absent Code。我的假設是我需要提供一個JSF實現的測試,但是我發現的實現(例如與JBoss捆綁在一起的實現)沒有javax.faces包,只有com.sun,我找不到跟蹤類DataModeljsf-api和jsf-impl如何相關?

我誤解了它在這裏的工作方式?爲什麼impl實際上沒有實施api

+0

只有jsf-api.jar才能導致此錯誤。你不是真的在使用javaee.jar嗎? (反過來確實不包含任何方法體)。 – BalusC

+0

@BalusC我幾乎肯定不使用javaee.jar。我從JBoss的'kitchensink'例子作爲項目模板開始快速入門。我使用的所有JEE依賴都是由'jboss-javaee-6.0-with-tools' BOM定義的。我只是開始研究jsf-impls,因爲我已經閱讀了有關javaee.jar存根的內容。鏈接問題中有更多信息,我很樂意閱讀您的輸入:) – kostja

回答

1

的API:

  • 市民類型,消費者可以編寫代碼來

實施:

  • 私有類型的消費者不應該依賴
  • 實施細則包括諸如標記(例如HTML)和容器(例如servlet)的東西

這種分離並不像應該那樣乾淨,但這主要是意圖。分離到這兩個罐子是開發人員選擇組織代碼的方式,但是你需要在大多數情況下使用這個庫。

+0

似乎我誤解了分離的目的和範圍。感謝您的澄清 – kostja