我正在重构一个简单的web项目,它最初使用了icepush的icefaces-ee 1.8,然后被上传到了icepush的icefaces-ee 3.3.0,但实际上并不需要它们。我正在将'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>它可以编译,但是当我尝试将war部署到glassfish 3中时,我得到了这个错误
org.icefaces.util.EnvUtils.getWarnBeforeExpiryInterval(Ljavax/faces/context/FacesContext;):java.lang.NoSuchMethodError
实际上,我看到icefaces-3.3.0.jar中的类EnvUtils缺少该方法。
哪种功能使用它?如何避免此错误?
发布于 2017-06-19 14:58:58
解决方法之一是将ICEfaces升级到4.0.0。从版本4.0.0开始引入了EnvUtils.getWarnBeforeExpiryInterval(FacesContext)。
另请参阅:
https://stackoverflow.com/questions/44507295
复制相似问题