7 Replies Latest reply on May 14, 2010 10:47 AM by mstruk.strukelj.parsek.net

    JBoss 6.0.0 M3 and Weld 1.0.1 Final

    hirowla.ian.rowlands.three.com.au

      Hi, I've just downloaded JBoss 6.0.0 M3 and I've noticed that it comes packaged with 1.0.1 CR2 instead of 1.0.1 Final. Apart from that seeming odd, I've run into another problem.


      I have run the script to upgrade Weld to 1.0.1 Final as I ran for M2. However I am getting errors which I remember being problems with the Weld integration code (some classes aren't injecting, like a servlet phase listener). I've also noticed that the Weld integration project is no longer separate, which may be the update script may not work.


      Is there a way to easily update M3 to 1.0.1 Final? Is the integration code available from somewhere else?


      Thanks,


      Ian

        • 1. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
          mbogoevici

          Hi Ian,


          Yes, the presence of Weld 1.0.1-CR2 (instead of 1.0.1-Final) is an issue in 6.0.0.M3.


          Here's what you can to update the version of Weld.


          Download the Weld 1.0.1-Final zip from http://www.seamframework.org/Weld/Downloads (you may have it already, but I am posting the link just in case someone else wants to do the same upgrade).


          After extracting the zip, go to the folder in which it has been extracted (e.g. weld-1.0.1-Final), and:


          1) cd jboss-as


          2) modify pom.xml by replacing:


          <properties>
            <weld-deployer.version>6.0.0.Beta9</weld-deployer.version>
          </properties>



          with:


          <properties>
            <weld-deployer.version>6.0.0.Beta11</weld-deployer.version>
          </properties>



          3) modify build.properties by adding the line:


          jboss.home=LOCATION_OF_JBOSS_AS_6.0.0.M3



          e.g.


          jboss.home=/opt/jboss/jboss-6.0.0.20100429-M3



          4) run the ant or Maven build found in jboss-as to do the update.


          You should see the application server being updated to use Weld 1.0.1-Final. The property change in the pom.xml file makes sure that the update will keep the same version of the weld integration code as the one used by JBoss AS 6.0.0.M3.


          Hope this helps,


          Marius 

          • 2. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
            pmuir

            Crap, I thought we had done this update!


            Marius, have you now done it in trunk?

            • 3. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
              hirowla.ian.rowlands.three.com.au

              Those instructions work, thanks for that. Now I can see through the errors I'm getting to ensure whether it is Weld version error or some other problem (there is a Weld integration error - see another post for details).

              • 4. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
                mstruk.strukelj.parsek.net
                I followed the above instructions using weld trunk (1.0.2-SNAPSHOT).

                But when I deploy a weld project I get exception:


                19:26:48,092 INFO  [org.jboss.weld.Version] WELD-000900 1.0.2 (SNAPSHOT)
                19:26:48,104 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Create: name=vfs:///C:/opt/java/jboss-6.0.0.20100429-M3/server/default/deploy/cdi-numberguess.war_WeldBootstrapBean state=Configured: java.lang.NoClassDefFoundError: org/jboss/weld/serialization/spi/ProxyServices
                        at org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:253)
                        at org.jboss.weld.integration.deployer.env.helpers.BootstrapBean.initialize(BootstrapBean.java:136) [:6.0.0-SNAPSHOT]
                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_18]
                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_18]
                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_18]
                ...
                ...



                To make it work I checked out and built http://anonsvn.jboss.org/repos/weld/api/trunk/

                And manually copied weld-spi/target/weld-spi-1.0-SNAPSHOT.jar to JBOSS_HOME/server/default/deployers/weld.deployer/weld-spi.jar


                I get a different error now - which looks vfs3 related:


                19:48:37,299 SEVERE [config] Unable to process annotations for url, vfs:/C:/opt/java/jboss-6.0.0.20100429-M3/server/default/deploy/cdi-numberguess.war/WEB-INF/lib/seam-faces-3.0.0-SNAPSHOT.jar/META-INF/faces-config.xml.  Reason: java.util.zip.ZipException: error in opening zip fi
                le
                19:48:37,372 SEVERE [config] : java.util.zip.ZipException: error in opening zip file
                        at java.util.zip.ZipFile.open(Native Method) [:1.6.0_18]
                        at java.util.zip.ZipFile.<init>(ZipFile.java:114) [:1.6.0_18]
                        at java.util.jar.JarFile.<init>(JarFile.java:133) [:1.6.0_18]
                        at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:67) [:1.6.0_18]
                        at sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:214) [:1.6.0_18]
                        at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_18]
                        at sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:198) [:1.6.0_18]
                        at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:50) [:1.6.0_18]
                        at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:80) [:1.6.0_18]
                        at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:104) [:1.6.0_18]
                        at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71) [:1.6.0_18]
                        at com.sun.faces.config.AnnotationScanner.processClasspath(AnnotationScanner.java:290) [:2.0.2-FCS]
                        at com.sun.faces.config.AnnotationScanner.getAnnotatedClasses(AnnotationScanner.java:215) [:2.0.2-FCS]
                        at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:765) [:2.0.2-FCS]
                        at com.sun.faces.config.ConfigManager$AnnotationScanTask.call(ConfigManager.java:736) [:2.0.2-FCS]
                        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_18]
                        at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_18]
                        at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:329) [:2.0.2-FCS]
                        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223) [:2.0.2-FCS]
                        at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:72) [:6.0.0.20100429-M3]
                        at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3733) [:6.0.0.20100429-M3]


                Cheers,

                - marko

                • 5. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
                  mstruk.strukelj.parsek.net

                  This second part actually isn't directly Weld related - has to do with seam3-faces module using JSF, so this second part should go into a different thread ...


                  - marko


                  • 6. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
                    nickarls

                    The SPI update is required because David changed the proxy handling and added a class


                    The second part is due to VFS3 (?) in post-M2 AS6

                    • 7. Re: JBoss 6.0.0 M3 and Weld 1.0.1 Final
                      mstruk.strukelj.parsek.net

                      Yes, that's what I'm seeing. Thanks for the link.


                      - marko