8 Replies Latest reply on Aug 28, 2007 11:49 AM by Olivier Thierry

    java.util.zip.ZipException: missing entry name

    Olivier Thierry Apprentice

      Hi,

      I try to add RichFaces to a project generated with AndroMDA.
      I did what is said in the installation section of the documentation :
      - Copied richfaces-3.0.x.jar, ajax4jsf.jar and oscache.2.3.2.jar in WEB-INF/lib
      - Configured ajax4jsf filter in web.xml

      But when I deploy my application on JBoss 4.0.5, it fails with the following error :

      2007-08-24 12:05:06,883 ERROR [org.apache.catalina.core.StandardContext] Error in dependencyCheck
      java.util.zip.ZipException: missing entry name
       at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:228)
       at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:73)
       at java.util.jar.JarInputStream.<init>(JarInputStream.java:61)
       at java.util.jar.JarInputStream.<init>(JarInputStream.java:43)
       at org.apache.catalina.util.ExtensionValidator.getManifest(ExtensionValidator.java:372)
       at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:183)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4059)
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
       at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.apache.catalina.core.StandardContext.init(StandardContext.java:5052)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
       at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:297)
       at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:103)
       at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:371)
       at org.jboss.web.WebModule.startModule(WebModule.java:83)
       at org.jboss.web.WebModule.startService(WebModule.java:61)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:417)
       at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy42.start(Unknown Source)
       at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
       at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
       at org.jboss.ws.integration.jboss.DeployerInterceptor.start(DeployerInterceptor.java:92)
       at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
       at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy43.start(Unknown Source)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
       at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy8.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
       at $Proxy0.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:417)
       at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy5.deploy(Unknown Source)
       at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
       at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
       at org.jboss.Main.boot(Main.java:200)
       at org.jboss.Main$1.run(Main.java:490)
       at java.lang.Thread.run(Thread.java:595)
      


      It looks like there is a JAR missing in the classpath, but I can't find which one. I tried with both 3.0.0 and 3.0.1 versions of RichFaces and had the same problem.

      Could it come from trinidad which is bundled and configured by default with projects generated by AndroMDA ?

      Any help will be welcome ;)

      Thanks in advance

        • 1. Re: java.util.zip.ZipException: missing entry name
          Olivier Thierry Apprentice

          Any idea about this problem ? I am a newbie with both JSF and Richfaces and I find nothing on the web about this problem. I tried with Richfaces 3.1.0 but I have exactly the same problem.

          Here is my web.xml file, maybe it could help ?

          <?xml version="1.0" encoding="UTF-8"?>
          
          <web-app version="2.5"
           xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
          
           <!-- ************************ Seam Listener **************************** -->
           <listener>
           <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
           </listener>
          
           <!-- ************************ Ajax4jsf Filter **************************** -->
           <filter>
           <display-name>Ajax4jsf Filter</display-name>
           <filter-name>ajax4jsf</filter-name>
           <filter-class>org.ajax4jsf.FastFilter</filter-class>
           <init-param>
           <param-name>enable-cache</param-name>
           <param-value>true</param-value>
           </init-param>
           <init-param>
           <param-name>forceparser</param-name>
           <param-value>true</param-value>
           </init-param>
           </filter>
          
           <filter-mapping>
           <filter-name>ajax4jsf</filter-name>
           <servlet-name>Faces Servlet</servlet-name>
           <dispatcher>REQUEST</dispatcher>
           <dispatcher>FORWARD</dispatcher>
           <dispatcher>INCLUDE</dispatcher>
           </filter-mapping>
          
           <!-- ************************ Trinidad Filter **************************** -->
           <filter>
           <display-name>Trinidad Filter</display-name>
           <filter-name>trinidad</filter-name>
           <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
           </filter>
          
           <filter-mapping>
           <filter-name>trinidad</filter-name>
           <servlet-name>Faces Servlet</servlet-name>
           <dispatcher>REQUEST</dispatcher>
           <dispatcher>FORWARD</dispatcher>
           <dispatcher>INCLUDE</dispatcher>
           </filter-mapping>
          
           <!-- ************************ Seam Filter **************************** -->
           <filter>
           <filter-name>Seam Filter</filter-name>
           <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
           </filter>
          
           <filter-mapping>
           <filter-name>Seam Filter</filter-name>
           <servlet-name>Faces Servlet</servlet-name>
           </filter-mapping>
          
           <!-- ************************ Manual Filters **************************** -->
          
          
          
           <!-- ************************ SEAM Config **************************** -->
           <!-- 300 second conversation timeout -->
           <context-param>
           <param-name>org.jboss.seam.core.manager.conversationTimeout</param-name>
           <param-value>300000</param-value>
           </context-param>
           <context-param>
           <param-name>org.jboss.seam.core.init.debug</param-name>
           <param-value>true</param-value>
           </context-param>
          
           <!-- ********************* Facelets Config ************************** -->
           <context-param>
           <param-name>facelets.VIEW_MAPPINGS</param-name>
           <param-value>*.xhtml</param-value>
           </context-param>
           <context-param>
           <description>Prevents HTML-Comments from beeing rendered</description>
           <param-name>facelets.SKIP_COMMENTS</param-name>
           <param-value>true</param-value>
           </context-param>
          
           <!-- ************************ JSF Config **************************** -->
           <context-param>
           <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
           <param-value>.xhtml</param-value>
           </context-param>
           <context-param>
           <description>
           State saving method: "client" or "server" (= default)
           See JSF Specification 2.5.2. In ADF Faces, it is an
           optimized, token-based mechanism that is almost always a
           better choice than the standard JSF server-side state saving.
           </description>
           <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
           <param-value>client</param-value>
           </context-param>
          
           <!-- ************************ MyFaces Config **************************** -->
           <context-param>
           <description>
           This parameter tells MyFaces if javascript code should be allowed in the
           rendered HTML output.
           If javascript is allowed, command_link anchors will have javascript code
           that submits the corresponding form.
           If javascript is not allowed, the state saving info and nested parameters
           will be added as url parameters.
           Default: "true"
           </description>
           <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
           <param-value>true</param-value>
           </context-param>
           <context-param>
           <description>
           If true, rendered HTML code will be formatted, so that it is "human readable".
           i.e. additional line separators and whitespace will be written, that do not
           influence the HTML code.
           Default: "true"
           </description>
           <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
           <param-value>true</param-value>
           </context-param>
           <context-param>
           <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
           <param-value>false</param-value>
           </context-param>
           <context-param>
           <description>
           If true, a javascript function will be rendered that is able to restore the
           former vertical scroll on every request. Convenient feature if you have pages
           with long lists and you do not want the browser page to always jump to the top
           if you trigger a link or button action that stays on the same page.
           Default: "false"
           </description>
           <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
           <param-value>true</param-value>
           </context-param>
           <context-param>
           <param-name>com.sun.faces.validateXml</param-name>
           <param-value>true</param-value>
           </context-param>
           <context-param>
           <param-name>com.sun.faces.verifyObjects</param-name>
           <param-value>true</param-value>
           </context-param>
          
           <!-- ************************ Trinidad Config **************************** -->
           <context-param>
           <param-name>org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT</param-name>
           <param-value>false</param-value>
           </context-param>
           <context-param>
           <!--
           If this parameter is enabled, Trinidad will automatically
           check the modification date of your JSPs, and discard saved
           state when they change; this makes development easier,
           but adds overhead that should be avoided when your application
           is deployed
           -->
           <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
           <param-value>true</param-value>
           </context-param>
           <context-param>
           <param-name>org.apache.myfaces.trinidad.resource.DEBUG</param-name>
           <param-value>true</param-value>
           </context-param>
           <context-param>
           <param-name>org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER</param-name>
           <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value>
           <!--param-value>com.sun.facelets.FaceletViewHandler</param-value-->
           </context-param>
           <context-param>
           <param-name>org.apache.myfaces.trinidad.CACHE_VIEW_ROOT</param-name>
           <param-value>false</param-value>
           </context-param>
           <context-param>
           <param-name>org.apache.myfaces.trinidadinternal.DISABLE_CONTENT_COMPRESSION</param-name>
           <param-value>true</param-value>
           </context-param>
          
           <!-- ************************ Ajax4JSF Config **************************** -->
           <context-param>
           <param-name>org.ajax4jsf.SKIN</param-name>
           <param-value>DEFAULT</param-value>
           </context-param>
          
           <!-- ************************ Manual Merged Config **************************** -->
           <!-- uncomment if you want to add your own project specific facelet tags
           (and of course make sure "/WEB-INF/custom.taglib.xml" is the actual path
           to your facelet tag descriptor)
           <context-param>
           <param-name>facelets.LIBRARIES</param-name>
           <param-value>
           /WEB-INF/custom.taglib.xml;
           </param-value>
           </context-param>
           -->
          
           <!-- ************************ MyFaces Listener **************************** -->
           <listener>
           <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
           </listener>
          
           <!-- ************************ Seam Servlet Mapping ************************ -->
           <servlet>
           <servlet-name>Seam Resource Servlet</servlet-name>
           <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
           </servlet>
          
           <servlet-mapping>
           <servlet-name>Seam Resource Servlet</servlet-name>
           <url-pattern>/seam/resource/*</url-pattern>
           </servlet-mapping>
          
           <!-- ************************ Faces Servlet Mapping **************************** -->
           <servlet>
           <servlet-name>Faces Servlet</servlet-name>
           <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
           <load-on-startup>1</load-on-startup>
           </servlet>
          
           <servlet-mapping>
           <servlet-name>Faces Servlet</servlet-name>
           <url-pattern>*.seam</url-pattern>
           </servlet-mapping>
          
           <!-- ************************ Trinidad Resources Servlet **************************** -->
           <servlet>
           <servlet-name>Trinidad Resources</servlet-name>
           <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
           </servlet>
          
           <servlet-mapping>
           <servlet-name>Trinidad Resources</servlet-name>
           <url-pattern>/adf/*</url-pattern>
           </servlet-mapping>
          
           <!-- precompilation merge-point -->
          
          
           <session-config>
           <session-timeout>45</session-timeout>
           <!-- session-config merge-point -->
           </session-config>
          
          
           <!-- Welcome files -->
           <welcome-file-list>
          
           <welcome-file>index.jsp</welcome-file>
           <welcome-file>index.html</welcome-file>
           </welcome-file-list>
          
           <error-page>
           <error-code>408</error-code>
           <location>/index.jsp</location>
           </error-page>
           <error-page>
           <error-code>403</error-code>
           <location>/403.jsp</location>
           </error-page>
          
           <!-- taglib merge-point -->
           <!-- resource-ref merge-point -->
          
          
           <security-constraint>
           <web-resource-collection>
           <web-resource-name>Raw-JSF-Pages</web-resource-name>
           <description>
           Prevent access to raw pages that are for JSF pages.
           (No roles, so no direct access)
           </description>
           </web-resource-collection>
           <auth-constraint>
           </auth-constraint>
           <user-data-constraint>
           <transport-guarantee>NONE</transport-guarantee>
           </user-data-constraint>
           </security-constraint>
          </web-app>


          • 2. Re: java.util.zip.ZipException: missing entry name
            Ilya Shaikovsky Master

            In the 3.1.0 version ajax4jsf and oscache - not needed anymore and should be excluded from the classpath

            • 3. Re: java.util.zip.ZipException: missing entry name
              Olivier Thierry Apprentice

              But they are needed for 3.0.1, aren't they ? And I have the same problem :(

              • 4. Re: java.util.zip.ZipException: missing entry name
                Olivier Thierry Apprentice

                My app is built on Seam 1.1.0 and runs on Jboss AS 4.0.5, with JDK 1.5. Are there known compatibilty problems with these products ?

                • 5. Re: java.util.zip.ZipException: missing entry name
                  Ilya Shaikovsky Master

                  Between 3.1.0 and 3.0.1 the raefactoring was made. So you need to remove All old Rich Faces and ajax4jsf libs, clean caches and add 3.1.0 jars (rich-faces-ui, rich-faces-api and rich-faces-impl).

                  • 6. Re: java.util.zip.ZipException: missing entry name
                    Olivier Thierry Apprentice

                    Well, that's what I did ...

                    I have the following jars in my EAR :

                    - andromda-script-wrappers-3.3-SNAPSHOT.jar
                    - bsh-2.0b4.jar
                    - commons-beanutils-1.7.0.jar
                    - commons-codec-1.3.jar
                    - commons-collections-3.1.jar
                    - commons-fileupload-1.1.1.jar
                    - commons-io-1.1.jar
                    - commons-lang-2.3.jar
                    - el-api.jar
                    - el-ri.jar
                    - groovy-all-1.0-jsr-06.jar
                    - jboss-seam.jar
                    - jbpm-3.0.jar
                    - jbpm-identity-3.0.jar

                    + some jars which contain my business classes.

                    And i have the following jars in WEB-INF/lib on my war :

                    - andromda-core-3.3-SNAPSHOT.jar
                    - andromda-utils-3.3-SNAPSHOT.jar
                    - commons-digester-1.7.jar
                    - commons-validator-1.1.4.jar
                    - itext-0.99.jar
                    - jboss-seam-debug.jar
                    - jboss-seam-ioc.jar
                    - jboss-seam-mail.jar
                    - jboss-seam-pdf.jar
                    - jboss-seam-remoting.jar
                    - jboss-seam-ui.jar
                    - jsf-facelets.jar
                    - jstl-1.1.2.jar
                    - oro-2.0.8.jar
                    - richfaces-api-3.1.0-rc3.jar
                    - richfaces-impl-3.1.0-rc3.jar
                    - richfaces-ui-3.1.0-rc3.jar
                    - standard-1.1.1.jar

                    Do you see jars that could cause problems in the list ?

                    Thanks for your help ;)

                    • 7. Re: java.util.zip.ZipException: missing entry name
                      Olivier Thierry Apprentice

                      I found where it comes from, even if I didn't found a solution yet. In fact it has nothing to see with a dependency problem or something related with JBoss Richfaces ...

                      I use a Maven script to build my WAR. It copies the Richfaces lib from a source directory to a target directory and then it build the WAR from this target directory. But after the Richfaces jars are copied, I can't open them with a unzipper because they are corrupted ! Copying the files corrupts them ! It's not a problem with my unzipper since the jars don't have the same size at all before and after copy. I really can't understand why ... Anyone had a similar problem ?

                      • 8. Re: java.util.zip.ZipException: missing entry name
                        Olivier Thierry Apprentice

                        Eureka ! Something I did not understand with Maven, probably resources filter. I put the jars in an other directory than resources and it works now.