In certain situations, the xslt task within some of the TIBant macros will use the Xalan xslt processor instead of Saxon, which results in the following error

[tibant:configure-ear] : Error! The first argument to the non-static Java function 'determineSetting' is not a valid object reference....snip...[tibant:configure-ear] : Error! The first argument to the non-static  Java function 'ifAbsent' is not a valid object reference. [tibant:configure-ear] : Error! The first argument to the non-static  Java function 'determineSetting' is not a valid object reference. [tibant:configure-ear] : Error! The first argument to the non-static  Java function 'determineSetting' is not a valid object reference. [tibant:configure-ear] : Error! Error checking type of the  expression 'funcall(tokenize,  [FilterParentPath(filter-expr(variable-ref(deploy/node-set), [pred(=(st ep("attribute", 18), funcall(concat,  [cast(parameter-ref(prefix/reference), string),  literal-expr(bindings)])))]), step("attribute", 19)),  literal-expr(,)])'. [tibant:configure-ear] : Fatal Error! Could not compile stylesheet [tibant:configure-ear] Failed to process  C:\ant\TIBant-1.3.0\example\build\example-a.b.c.xml

This can be fixed by explicitly telling the JVM which XSLT processor to use.

If you are running ant from the command line, then set ANT_OPTS environment variable to -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl. e.g.,

set ANT_OPTS=-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl

and set the ANT_ARGS environment variable to -lib path\to\saxon9he.jar. e.g., if TIBant is installed in C:\Developer\TIBant

set ANT_ARGS=-lib C:\Developer\TIBant\lib\saxon9e.jar

If you are running ant from Eclipse (or Business Studio), then open the External Tools Configuration from the menu run > External Tools > External Tools Configuration...

Select the Ant Build configuration for your project and in the JRE tab in the VM arguments field add

-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl

-lib