2017-06-12 39 views
0

我重構了一個簡單的Web項目,最初使用icefaces-ee 1.8與icepush,然後上傳到icedrop-ee 3.3.0與icepush,但從來沒有真正需要它們。我將社區圖書館的'ee'圖書館取而代之,並將icepush的功能放到一個簡單的icefaces項目中。 我的行家ICEfaces的依賴關係是:NoSuchMethodError當部署一個icefaces 3應用程序

<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缺少該方法。

哪些功能使用此功能?我怎樣才能避免這個錯誤?

回答

0

解決方法之一是將ICEfaces升級到4.0.0。從版本4.0.0開始引入了EnvUtils.getWarnBeforeExpiryInterval(FacesContext)

參見:

+0

遺憾的響應晚。我可以在javaEE 6環境中使用icefaces 4嗎?我在icefaces 4 note release中看到了javaEE 7環境和JSF 2.2。我用jsf 2.1.8使用glassfish 3 – jmann