首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zest 1.1.0无法与ZK 6.5.2集成

Zest 1.1.0无法与ZK 6.5.2集成
EN

Stack Overflow用户
提问于 2013-07-05 17:11:06
回答 1查看 184关注 0票数 0

我的应用程序使用的是ZK框架版本6.5.2。现在我想通过使用Zest将RESTful集成到其中。问题是,Zest的最新版本是1.1.0,它依赖于zcommon-5.0.0。所以这个依赖项(zcommon-5.0.0)是重复的,我从我的POM文件中排除了它,如下所示:

代码语言:javascript
复制
<dependency>
      <groupId>org.zkoss.zest</groupId>
      <artifactId>zest</artifactId>
      <version>1.1.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.zkoss.common</groupId>
          <artifactId>zcommon</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.zkoss.common</groupId>
          <artifactId>zweb</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

因此,zest现在依赖于zcommon-6.5.2。当我启动我的应用程序时,出现一个错误:

代码语言:javascript
复制
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to org.zkoss.xel.taglib.FunctionDefinition
    at org.zkoss.xel.taglib.Taglibs.getFunctionMapper(Taglibs.java:150)
    at org.zkoss.xel.taglib.Taglibs.getFunctionMapper(Taglibs.java:109)
    at org.zkoss.zest.sys.impl.ParserImpl.parse(ParserImpl.java:97)
    at org.zkoss.zest.sys.impl.ParserImpl.parse(ParserImpl.java:54)
    at org.zkoss.zest.sys.ZestManager.loadConfiguration(ZestManager.java:98)
    at org.zkoss.zest.sys.ZestManager.init(ZestManager.java:70)
    at org.zkoss.zest.sys.ZestFilter.init(ZestFilter.java:74)

这是我的web.xml:

代码语言:javascript
复制
<filter>
    <filter-name>zest</filter-name>
    <filter-class>org.zkoss.zest.sys.ZestFilter</filter-class>
    <!-- specifies the class name of the ZEST manager to handle actions Default: org.zkoss.zest.sys.ZestManager -->
    <init-param>
      <param-name>manager-class</param-name>
      <param-value>org.zkoss.zest.sys.ZestManager</param-value>
    </init-param>

    <!-- specifies the class name of the parser used to parse the configuration file (WEB-INF/zest.xml). Default: org.zkoss.zest.sys.impl.ParserImpl -->
    <init-param>
      <param-name>parser-class</param-name>
      <param-value>org.zkoss.zest.sys.impl.ParserImpl</param-value>
    </init-param>

  </filter>

下面是zest.xml中的rest定义:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<zest>

  <xel-method prefix="c" name="toMethodName"
            class="com.myapp.view.RestAction"
        signature="java.lang.String toMethodName(java.lang.String)"/>
    <action path="/rest" method="${c:toMethodName(request.method)}"
    class="com.myapp.view.RestAction">
        <result>/WEB-INF/index.zul</result>
    </action>
</zest>

我比较了zcommon 5.0.0和6.5.2版本中这两个文件Taglibs.java的源代码,发现它们有很多不同之处。我认为导致上述问题的原因(初始化过程已从5.0.5更改为6.5.2)。您能帮我解决这个问题吗?这样我就可以将zest集成到我的ZK应用程序中了。非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 13:55:55

Zest 1.1与ZK 6.5.2不兼容。您必须升级到Zest 2.0:

http://mavensync.zkoss.org/maven2/org/zkoss/zest/zest/2.0.0.FL.20130205/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17485189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档