You forget about dependencies. This implementation was designed for servlet-api-2.5, jsp-api-2.1, jstl-1.2.
Icefaces lib directory contain old version of these libraries.
it's time to start work with maven library management system .
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
Fixed.
icefaces/trunk:
Transmitting file data for '/icefaces/lib/jsf-api-1.2.jar'
Transmitting file data for '/icefaces/lib/jsf-impl-1.2.jar'
Transmitting file data for '/icefaces/lib/versions-licenses.html'
Committed revision 17509 by user "ken.fyten"
icefaces/branches/icefaces-1.7:
Transmitting file data for '/icefaces/lib/jsf-api-1.2.jar'
Transmitting file data for '/icefaces/lib/jsf-impl-1.2.jar'
Transmitting file data for '/icefaces/lib/versions-licenses.html'
Committed revision 17510 by user "ken.fyten".