I moved jar files from the test directory up one level to the lib directory.
This is my classpath now:
[testng] The ' characters around the executable and arguments are
[testng] not part of the command.
Execute:Java13CommandLauncher: Executing '/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bin/java' with arguments:
'-ea'
'-classpath'
'/Users/tchan/Documents/workspace/zzzGATest/test-build:/Users/tchan/Documents/workspace/zzzGATest/bootstrap:/Users/tchan/Documents/workspace/zzzGATest/lib/activation.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/ant-antlr.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/antlr-runtime.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/antlr.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/asm-attrs.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/asm.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/backport-util-concurrent.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/cglib-nodep.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/cglib.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/commons-beanutils.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/commons-collections.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/commons-digester.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/commons-fileupload.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/commons-lang.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/commons-logging.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/core.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/dbunit.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/dom4j.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/drools-compiler.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/drools-core.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/ejb-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/el-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/groovy-all.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/gwt-servlet.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate-all.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate-annotations.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate-commons-annotations.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate-entitymanager.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate-search.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate-validator.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hibernate.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/hsqldb.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/icefaces-comps.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/icefaces-facelets.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/icefaces.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/itext.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/janino.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/javassist.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jaxb-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jaxws-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-aop.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-cache.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-common-core.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-dependency.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-deployers.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-el.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-embedded-all.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-embedded-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-jmx.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-kernel.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-logging-spi.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-debug-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-debug.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-gen-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-gen.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-ioc-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-ioc.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-mail-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-mail.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-pdf-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-pdf.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-remoting-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-remoting.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-ui-sources.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam-ui.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-seam.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jboss-system.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jbossxb.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jbpm-jpdl.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jcaptcha-all.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jcommon.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jfreechart.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jgroups.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jms.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jsf-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jsf-impl.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jsp-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jsr173_api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jsr181-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jsr250-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jstl.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/jta.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/log4j.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/lucene-core.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/mail.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/meldware-mailapi.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/meldware-mailjmx.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/mvel14.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/persistence-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/portlet-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/quartz.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/saaj-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/servlet-api.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/spring.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/testng.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/thirdparty-all.jar:/Users/tchan/Documents/workspace/zzzGATest/lib/urlrewritefilter.jar'
'org.testng.TestNG'
'@/tmp/testng33056'
This is my seam-gen created build.xml (I see no mention of lib/test):
<?xml version="1.0"?>
<project name="zzzGATest" default="deploy" basedir=".">
<!-- Give user a chance to override without editing this file or typing -D -->
<property file="${basedir}/build.properties" />
<property name="profile" value="dev" />
<property file="build-${profile}.properties" />
<!-- set global properties for this build -->
<property name="project.name" value="zzzGATest"/>
<property name="dist.dir" value="dist" />
<property name="src.model.dir" value="src/model" />
<property name="src.action.dir" value="src/action" />
<property name="src.test.dir" value="src/test" />
<property name="lib.dir" value="lib" />
<property name="ear.dir" value="exploded-archives/${project.name}.ear" />
<property name="jar.dir" value="exploded-archives/${project.name}.jar" />
<property name="war.dir" value="exploded-archives/${project.name}.war" />
<property name="test.dir" value="test-build" />
<property name="bootstrap.dir" value="${basedir}/bootstrap" />
<property name="deploy.dir" value="${jboss.home}/server/default/deploy" />
<property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
<property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
<property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />
<property name="testng.jar" value="${basedir}/lib/testng.jar" />
<property name="javac.debug" value="true" />
<property name="javac.deprecation" value="false" />
<property name="debug" value="false" />
<!--Properties for validating configuration files -->
<property name="validate.resources.dir" value="${basedir}/exploded-archives" />
<property name="schema.dir" value="${basedir}/exploded-archives/schemas" />
<property name="src.schema.dir" value="${schema.dir}/org/jboss/seam"/>
<property name="schema.version" value="2.0" />
<fileset id="lib" dir="${lib.dir}">
<include name="*.jar" />
</fileset>
<path id="build.classpath">
<fileset refid="lib" />
</path>
<target name="init" description="Initialize the build">
<mkdir dir="${jar.dir}" />
<mkdir dir="${ear.dir}" />
<mkdir dir="${war.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<target name="compile" depends="init"
description="Compile the Java source code"
unless="eclipse.running">
<javac classpathref="build.classpath"
destdir="${jar.dir}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
nowarn="on">
<src path="${src.model.dir}" />
<src path="${src.action.dir}" />
</javac>
</target>
<target name="copyclasses" depends="init"
description="Copy the classes that were compiled by eclipse"
if="eclipse.running">
<copy todir="${jar.dir}">
<fileset dir="classes/model">
<include name="**/*.class"/>
</fileset>
<fileset dir="classes/action">
<include name="**/*.class"/>
</fileset>
</copy>
</target>
<target name="jar" depends="compile,copyclasses"
description="Build the distribution .jar file">
<copy todir="${jar.dir}">
<fileset dir="${basedir}/resources">
<include name="seam.properties" />
</fileset>
</copy>
<copy todir="${jar.dir}/META-INF">
<fileset dir="${basedir}/resources/META-INF">
<include name="ejb-jar.xml" />
</fileset>
</copy>
<copy tofile="${jar.dir}/META-INF/persistence.xml"
file="${basedir}/resources/META-INF/persistence-${profile}.xml"
overwrite="true"/>
<copy tofile="${jar.dir}/import.sql"
file="${basedir}/resources/import-${profile}.sql"
overwrite="true"/>
</target>
<target name="war" depends="compile"
description="Build the distribution .war file">
<copy todir="${war.dir}">
<fileset dir="${basedir}/view" />
</copy>
<copy todir="${war.dir}/WEB-INF">
<fileset dir="${basedir}/resources/WEB-INF">
<include name="*.*"/>
<include name="classes/**/*.*"/>
<exclude name="classes/**/*.class"/>
</fileset>
<filterset>
<filter token="debug" value="${debug}" />
<filter token="jndiPattern" value="${project.name}/#{ejbName}/local" />
<filter token="embeddedEjb" value="false" />
</filterset>
</copy>
<copy todir="${war.dir}/WEB-INF">
<fileset dir="${basedir}/resources/WEB-INF">
<include name="lib/*.*"/>
<include name="classes/**/*.class"/>
</fileset>
</copy>
<copy todir="${war.dir}/WEB-INF/lib">
<fileset dir="${lib.dir}">
<include name="oscache*.jar" />
<include name="jboss-seam-*.jar" />
<include name="commons-beanutils.jar" />
<exclude name="jboss-seam-gen.jar" />
</fileset>
</copy>
<copy todir="${war.dir}/WEB-INF/classes">
<fileset dir="${basedir}/resources">
<include name="messages*.properties"/>
</fileset>
</copy>
</target>
<target name="ear" description="Build the EAR">
<copy todir="${ear.dir}">
<fileset dir="${basedir}/resources">
<include name="*jpdl.xml" />
<include name="hibernate.cfg.xml" />
<include name="jbpm.cfg.xml" />
<include name="*.drl" />
</fileset>
<fileset dir="${lib.dir}">
<include name="jboss-seam.jar" />
</fileset>
<fileset dir="${basedir}">
<include name="lib/jbpm*.jar" />
<include name="lib/jboss-el.jar" />
<include name="lib/drools-*.jar"/>
<include name="lib/janino-*.jar"/>
<include name="lib/antlr-*.jar"/>
<include name="lib/mvel*.jar"/>
<include name="lib/icefaces*.jar" />
<include name="lib/backport-util-concurrent.jar" />
<include name="lib/commons-fileupload.jar"/>
<include name="lib/commons-digester.jar"/>
</fileset>
</copy>
<copy todir="${ear.dir}/META-INF">
<fileset dir="${basedir}/resources/META-INF">
<include name="application.xml" />
<include name="jboss-app.xml" />
</fileset>
</copy>
</target>
<target name="archive" depends="jar,war,ear"
description="Package the archives">
<jar jarfile="${dist.dir}/${project.name}.jar" basedir="${jar.dir}"/>
<jar jarfile="${dist.dir}/${project.name}.war" basedir="${war.dir}"/>
<jar jarfile="${dist.dir}/${project.name}.ear">
<fileset dir="${ear.dir}"/>
<fileset dir="${dist.dir}">
<include name="${project.name}.jar"/>
<include name="${project.name}.war"/>
</fileset>
</jar>
</target>
<target name="datasource">
<fail unless="jboss.home">jboss.home not set</fail>
<copy todir="${deploy.dir}">
<fileset dir="${basedir}/resources">
<include name="${project.name}-${profile}-ds.xml" />
</fileset>
</copy>
</target>
<target name="explode" depends="jar,war,ear,datasource"
description="Deploy the exploded archive">
<fail unless="jboss.home">jboss.home not set</fail>
<mkdir dir="${jar.deploy.dir}"/>
<mkdir dir="${war.deploy.dir}"/>
<copy todir="${jar.deploy.dir}">
<fileset dir="${jar.dir}"/>
</copy>
<copy todir="${war.deploy.dir}">
<fileset dir="${war.dir}"/>
</copy>
<copy todir="${ear.deploy.dir}">
<fileset dir="${ear.dir}"/>
</copy>
</target>
<target name="unexplode" description="Undeploy the exploded archive">
<delete failonerror="no">
<fileset dir="${ear.deploy.dir}">
<exclude name="**/*.jar"/>
</fileset>
</delete>
<delete file="${deploy.dir}/${project.name}-${profile}-ds.xml" failonerror="no"/>
<delete dir="${ear.deploy.dir}" failonerror="no"/>
</target>
<target name="restart" depends="explode" description="Restart the exploded archive">
<touch file="${ear.deploy.dir}/META-INF/application.xml"/>
</target>
<target name="deploy" depends="archive,datasource" description="Deploy to JBoss AS">
<fail unless="jboss.home">jboss.home not set</fail>
<copy todir="${deploy.dir}" file="${dist.dir}/${project.name}.ear" />
</target>
<target name="undeploy" description="Undeploy the example from JBoss">
<delete file="${deploy.dir}/${project.name}.ear" />
<delete file="${deploy.dir}/${project.name}-dev-ds.xml" />
<delete file="${deploy.dir}/${project.name}-prod-ds.xml" />
</target>
<target name="clean" description="Cleans up the build directory">
<delete dir="${dist.dir}"/>
<delete dir="${ear.dir}"/>
<delete dir="${war.dir}"/>
<delete dir="${jar.dir}"/>
<delete dir="${src.schema.dir}" failonerror="no"/>
<delete dir="${basedir}/test-report"/>
<delete dir="${basedir}/test-output"/>
<delete failonerror="no">
<fileset dir="${test.dir}">
<exclude name="**/*.class" if="eclipse.running"/>
</fileset>
</delete>
</target>
<target name="compiletest" unless="eclipse.running" description="Compile the Java source code for the tests">
<mkdir dir="${test.dir}"/>
<javac classpathref="build.classpath"
destdir="${test.dir}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
nowarn="on">
<src path="${src.action.dir}" />
<src path="${src.model.dir}" />
<src path="${src.test.dir}" />
</javac>
</target>
<target name="copytestclasses" if="eclipse.running" description="Copy classes compiled by eclipse to the test dir">
<mkdir dir="${test.dir}"/>
<copy todir="${test.dir}">
<fileset dir="classes/model">
<include name="**/*.class"/>
</fileset>
</copy>
<copy todir="${test.dir}">
<fileset dir="classes/action">
<include name="**/*.class"/>
</fileset>
</copy>
<copy todir="${test.dir}">
<fileset dir="classes/test">
<include name="**/*.class"/>
</fileset>
</copy>
</target>
<target name="buildtest" depends="compiletest,copytestclasses" description="Build the tests">
<copy todir="${test.dir}">
<fileset dir="${basedir}/resources">
<exclude name="META-INF/persistence*.xml"/>
<exclude name="import*.sql"/>
<exclude name="${project.name}-*-ds.xml"/>
</fileset>
</copy>
<copy tofile="${test.dir}/META-INF/persistence.xml"
file="${basedir}/resources/META-INF/persistence-test.xml"
overwrite="true"/>
<copy tofile="${test.dir}/import.sql"
file="${basedir}/resources/import-test.sql"
overwrite="true"/>
<copy todir="${test.dir}" flatten="true">
<fileset dir="${src.test.dir}">
<include name="**/*Test.xml" />
</fileset>
</copy>
</target>
<target name="test" depends="buildtest" description="Run the tests">
<taskdef resource="testngtasks" classpath="${testng.jar}" />
<testng outputdir="${basedir}/test-report">
<classpath path="${test.dir}" />
<classpath path="${bootstrap.dir}" />
<classpath refid="build.classpath" />
<xmlfileset dir="${test.dir}" includes="*Test.xml" />
</testng>
</target>
<target name="validateConfiguration" depends="war,ear,jar" description="Validate the xml configuration files">
<mkdir dir="${schema.dir}"/>
<unjar src="${lib.dir}/jboss-seam.jar" dest="${schema.dir}">
<patternset>
<include name="org/jboss/seam/*.xsd"/>
<include name="org/jboss/seam/*.dtd"/>
</patternset>
</unjar>
<ant antfile="validate.xml" target="validateConfiguration" />
</target>
<target name="freshen" description="grab fresh icefaces jars">
<copy todir="${lib.dir}">
<fileset dir="${icefaces.home}/lib">
<include name="icefaces*.jar" />
<include name="backport-util-concurrent.jar" />
<include name="commons-fileupload.jar"/>
<include name="commons-digester.jar"/>
</fileset>
</copy>
</target>
<target name="purge" depends="undeploy" description="clean out jboss deployments of crashing applications">
<delete dir="${jboss.home}/server/default/tmp/deploy" />
<mkdir dir="${jboss.home}/server/default/tmp/deploy/" />
<delete dir="${jboss.home}/server/default/tmp/sessions" />
<mkdir dir="${jboss.home}/server/default/tmp/sessions" />
<delete dir="${jboss.home}/server/default/work/jboss.web/localhost/${project.name}" />
</target>
</project>
And last, but not least, here is the new error that I get:
[testng] [Parser] Running:
[testng] /Users/tchan/Documents/workspace/zzzGATest/test-build/zzzTest.xml
[testng]
[testng] FAILED CONFIGURATION: @BeforeClass init
[testng] java.lang.RuntimeException: Unable to create a KernelInitializer based on the specified KernelConfig
[testng] at org.jboss.kernel.KernelFactory.createKernelInitializer(KernelFactory.java:156)
[testng] at org.jboss.kernel.KernelFactory.assembleNewKernel(KernelFactory.java:99)
[testng] at org.jboss.kernel.KernelFactory.newInstance(KernelFactory.java:67)
[testng] at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.bootstrap(AbstractBootstrap.java:120)
[testng] at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
[testng] at org.jboss.embedded.Bootstrap.createKernel(Bootstrap.java:131)
[testng] at org.jboss.embedded.Bootstrap.getInstance(Bootstrap.java:76)
[testng] at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:10)
[testng] at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1006)
[testng] at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)
[testng] at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
[testng] Caused by: java.lang.NoSuchMethodError: org.jboss.aop.proxy.container.ContainerCache.initialise(Lorg/jboss/aop/AspectManager;Ljava/lang/Class;Lorg/jboss/metadata/spi/MetaData;Z)Lorg/jboss/aop/proxy/container/ContainerCache;
[testng] at org.jboss.aop.microcontainer.integration.AOPConstructorJoinpoint.dispatch(AOPConstructorJoinpoint.java:100)
[testng] at org.jboss.kernel.plugins.config.Configurator.instantiate(Configurator.java:92)
[testng] at org.jboss.kernel.plugins.config.Configurator.instantiateAndConfigure(Configurator.java:67)
[testng] at org.jboss.kernel.plugins.config.property.PropertyKernelConfig.getImplementation(PropertyKernelConfig.java:159)
[testng] at org.jboss.kernel.plugins.config.property.PropertyKernelConfig.createKernelInitializer(PropertyKernelConfig.java:118)
[testng] at org.jboss.kernel.KernelFactory.createKernelInitializer(KernelFactory.java:150)
[testng] ... 32 more
[testng] ... Removed 22 stack frames
[testng] SKIPPED CONFIGURATION: @BeforeMethod begin
[testng] SKIPPED CONFIGURATION: @AfterMethod end
[testng] SKIPPED CONFIGURATION: @AfterClass cleanup
[testng] SKIPPED: testNothing
Something is preventing embedded jboss from starting up?