5 Replies Latest reply on Feb 9, 2007 7:22 PM by smokingapipe

    Building Seam CVS with ant build

    mariuszs

      When I try to build Seam from CVS I have error when application is starting:

      Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
      java.lang.ClassFormatError: Illegal class modifiers in class org/jboss/seam/mail/package-info: 0x1600
       at java.lang.ClassLoader.defineClass1(Native Method)
       at java.lang.ClassLoader.defineClass(Unknown Source)
       at java.security.SecureClassLoader.defineClass(Unknown Source)
       at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)


      What this mean?

      I use ant 1.7 and java 1.5.10

        • 1. Re: Building Seam CVS with ant build

          There is a known JVM bug. I know one workaround is to upgrade to Java 6. I'm not sure exactly how to reproduce this, so I can't say more.

          • 2. Re: Building Seam CVS with ant build

            Is there any reason not to use Java 1.6 with JBoss or Seam currently? Are there any know bugs related to upgrading to Java 1.6?

            • 3. Re: Building Seam CVS with ant build
              gavin.king

              It seems to work great on JDK 1.6, AFAICT.

              • 4. Re: Building Seam CVS with ant build

                I just upgraded and now my app deploys in 31 vs 51 sec and it seems more responsive in general.

                I checked it by switching JAVA_HOME back and forth and it is reproducible.

                Has anyone else seen this type of boost from JDK 1.6?

                • 5. Re: Building Seam CVS with ant build
                  smokingapipe

                  Java 6 is noticably faster than earlier versions in general use. I use it with NetBeans and it's nicer. I think startup of JBoss is also faster.

                  There are problems running JBoss with Java 6! The main problems that I have encountered are that JBoss unfortunately includes many JARs for packages that are now part of the Java 6 distribution. Sometimes (not sure why) these JARs over-ride the built-in Java 6 classes. As an example, I was building an app that uses JAXB to generate some XML. I would test my class by itself, outside of JBoss (on the command line) and have it spit out some XML for me. I would then run the same class within JBoss and noticed that the XML was being put together differently. Within JBoss the order of elements was different. I ended up having to specify the order using an XmlType declaration. Anyway this would have caused serious problems because the XML output would be invalid if the order changed, and the change happened only when running in JBoss. That was a real hair-puller for me, until I figured out what was happening. I think this will come up mainly with XML because many XML packages have been moved into the Java 6 distro, and the same packages are present in JBoss.

                  My view is that JBoss should in the near future start requiring Java 6, and throw away all the JARs that are not needed within Java 6. That may not be viable from a business point of view, so maybe one option would be to start a Java 6 binary distribution.

                  Anyway, it's something to be aware of and watch out for. If you are testing XML stuff in Java 6 outside of JBoss it may behave differently inside of JBoss.