2013-07-05 2 views
0

Я использую версию ракурса ZK 6.5.2 для своего приложения. И теперь я хочу интегрировать RESTful с помощью Zest. Проблема в том, что последняя версия Zest равна 1.1.0, и она зависит от zcommon-5.0.0. Таким образом, эта зависимость (zcommon-5.0.0) дублируются и я исключил его из моего файла POM, как это:Zest 1.1.0 не может интегрироваться с ZK 6.5.2

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

В результате цедра теперь зависит от zcommon-6.5.2. Когда я начинаю мое приложение, произошла ошибка:

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:

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

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

У меня есть сравнили исходный код этих 2 файлов Taglibs.java в версии 5.0.0 и 6.5.2 zcommon и поняли, что у них так много различий. Я думаю, что причина вызвала проблемы (процесс инициализации изменился с 5.0.5 до 6.5.2). Не могли бы вы помочь мне решить эту проблему, чтобы я мог интегрировать zest в свое приложение ZK? Огромное спасибо.

ответ

Смежные вопросы