For some time I am struggling to get an arquillian test case running. This test involves classes rooted in JSF classes and it ran into an ClassFormatError: Absent Code as the implementation for the javax.faces.model.DataModel could not be found.
My assumption was that I need to provide my test with a JSF implementation, but the implementations I found (for example the one bundled with JBoss) do not have the javax.faces package, only com.sun, and I could find no trace of the DataModel class.
Where am I misunderstanding the way it works here? Why doesn’t the impl actually implement the api?
The API:
The implementation:
This separation isn’t as clean as it should be, but this is largely the intent. Separation into these two jars are how the developers chose to organise the code but you’ll need both to utilize the library in most contexts.