XSLTC under EAP 6.2 - missing BCEL

Latest response

I'm trying to port a web app running under WebSphere to EAP 6.2. It makes heavy use of XSLT stylesheets and compiles them using the XSLTC compiler from Xalan. I'm having trouble as it is looking for the Apache BCEL library and can't find it, giving a ClassNotFoundException. I know that BCEL is now in rt.jar, so as is mentioned on the Xalan XSLTC page, it's not necessary to bundle the jar anymore. Ditto for JLex, java_cup, etc. I did try adding BCEL to my modules, but it eventually bombs with an NPE, no doubt due to version mismatches.

I assume that the correct thing to do is add XSLTC's dependencies to MANIFEST.MF, but I haven't been able to find the working combination. Neither org.apache.bcel nor com.sun.apache.bcel (the full path in rt.jar) works. I get Caused by: org.jboss.modules.ModuleNotFoundException: com.sun.org.apache.bcel:main

My most recent attempt at MANIFEST.MF:

Manifest-Version: 1.0
Dependencies: javax.api, org.ahss.configuration, com.sun.org.apache.bcel, com.sun.java_cup, org.apache.xalan, org.apache.xerces

Has anyone got the working combination for XSLTC in EAP 6?

Greg Groves
Florida Hospital


For anyone who has this problem and stumbles on this thread... add the following lines to modules/system/layers/base/sun/jdk/main/module.xml:

           <path name="com/sun/org/apache/bcel"/>
            <path name="com/sun/org/apache/xml/internal/security/transforms/implementations"/>
            <path name="com/sun/org/apache/xerces/internal/dom"/>
            <path name="com/sun/org/apache/xerces/internal/xni"/>
            <path name="com/sun/org/apache/xerces/internal/jaxp"/>