Help

Built with Seam

You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.

Yes, but there are some things that you need to know (and do).

As of Seam 2.1, all of Seam's test suites and seam-gen projects execute successfully on JDK 6. You can find the automated runs of the Seam testsuite on JDK 6 for 2.2.X. JDK 6 is a support requirement in Seam 2.1.0.GA and above.

Keep in mind that if you are going to use JDK 6 in production, you need to ensure the Java EE container in which you run your application is JDK 6 compatible as well. The information on this page deals with using JDK 6 for development.

Here's what you need to know.

Sun's JDK 6 Update 4 release upgraded from JAXB 2.0 to JAXB 2.1. Prior to this release, you would get a conflict between the JAXB 2.0 in the bootstrap classpath and the JAXB 2.1 included in the Embedded JBoss libraries (thirdparty-all.jar). To make that combination work, you would have had to override the JAXB library provided by the JVM by using its endorsed directory feature. But that's all a thing of the past. Now, when testing (or really just in general), just be sure to use JDK 6 Update 4 or higher (>= 1.6.0_04).

But there's a caveat! Seam uses Embedded JBoss in its unit and integration testing. This has an additional requirement when using JDK 6. In order to run Embedded JBoss with JDK 6 you need to set the following JVM argument:

-Dsun.lang.ClassLoader.allowArraySyntax=true

Seam's internal build system is setting this by default when it executes Seam's test suite. seam-gen now includes this flag in the <testng> task used in the test target. If you are also using Embedded JBoss for your own testing, such as when you run tests from Eclipse, you will need to add this setting to the VM arguments.

  • TestNG: Add the element <jvmarg line="-Dsun.lang.ClassLoader.allowArraySyntax=true"/> inside the <testng> task
  • Eclipse: Add the VM argument -Dsun.lang.ClassLoader.allowArraySyntax=true to the VM args tab in the TestNG launch configuration for your suite.