0
votes

I'm refactoring a simple web project that originally uses icefaces-ee 1.8 with icepush, then was uploaded to icefaces-ee 3.3.0 with icepush, but never actually require them. I'm replacing the 'ee' libraries to community libraries, and droping the icepush funtionality to a simple icefaces project. My maven icefaces dependencies are:

<dependency>
    <groupId>org.icefaces</groupId>
    <artifactId>icefaces</artifactId>
    <version>3.3.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.icepush</groupId>
            <artifactId>icepush</artifactId>
        </exclusion>
    </exclusions>  
</dependency>  
<dependency>
    <groupId>org.icefaces</groupId>
    <artifactId>icefaces-compat</artifactId>
    <version>3.3.0</version>
</dependency>
<dependency>
<dependency>
    <groupId>org.icefaces</groupId>
    <artifactId>icefaces-ace</artifactId>
    <version>3.3.0</version>
</dependency>
<dependency>
  <groupId>org.glassfish</groupId>
  <artifactId>javax.faces</artifactId>
  <version>2.1.28</version>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.0.1</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>javax.mail-api</artifactId>
  <version>1.4.4</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>javax.el</groupId>
  <artifactId>javax.el-api</artifactId>
  <version>2.2.1</version>
  <scope>provided</scope>
</dependency>

it compiles but when I try to deploy the war into glassfish 3, I get this error
java.lang.NoSuchMethodError: org.icefaces.util.EnvUtils.getWarnBeforeExpiryInterval(Ljavax/faces/context/FacesContext;)

effectively, I see that the class EnvUtils, in the icefaces-3.3.0.jar, lacks that method.

which functionality uses this? how can I avoid this error?

1

1 Answers

0
votes

One of the workaround is to upgrade ICEfaces to 4.0.0. EnvUtils.getWarnBeforeExpiryInterval(FacesContext)has been introduced since version 4.0.0.

See also: