部署icefaces 3 app时出现NoSuchMethodError

时间:2017-06-12 19:26:15

标签: glassfish-3 icefaces icefaces-3

我正在重构一个简单的网络项目,最初使用icefaces-ee 1.8和icepush,然后上传到icefaces-ee 3.3.0 with icepush,但实际上从未需要它们。我正在将'ee'库替换为社区库,并将icepush功能放到一个简单的icefaces项目中。 我的maven icefaces依赖是:

<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>

它编译但是当我尝试将战争部署到glassfish 3时,我得到了这个错误   java.lang.NoSuchMethodError:org.icefaces.util.EnvUtils.getWarnBeforeExpiryInterval(Ljavax / faces / context / FacesContext;)

有效地,我看到在icefaces-3.3.0.jar中的类EnvUtils缺乏该方法。

哪个功能使用此功能?我该如何避免这个错误?

1 个答案:

答案 0 :(得分:0)

其中一个解决方法是将ICEfaces升级到4.0.0。自版本4.0.0开始引入EnvUtils.getWarnBeforeExpiryInterval(FacesContext)

另见: