Whatever message this page gives is out now! Go check it out!

Configure WebSphere Liberty for ColdFusion

Last update:
Sep 6, 2026
Configure WebSphere Liberty settings so that XSLT processing and REST services work correctly with ColdFusion (2025 release).
This topic describes the WebSphere Liberty configuration required to run ColdFusion (2025 release), including settings required for REST services and XSLT processing.
Certified versions for deploying ColdFusion (2025 release) on WebSphere Liberty
ComponentCertified version
Application serverWebSphere Liberty 26.0.0.7
JDKOracle JDK 21
ColdFusionColdFusion (2025 release) with the latest update.
ColdFusion (2025 release) has been certified against WebSphere Liberty 26.
For new deployments, Adobe recommends installing ColdFusion using the latest ColdFusion (2025 release) installer available at the time of deployment. This ensures that the latest cumulative fixes and security updates are included as part of the installation.
For existing deployments, update ColdFusion to the latest available update before deploying on WebSphere Liberty.
WebSphere Liberty's classloader isolation can prevent ColdFusion from resolving the Apache Xalan transformer implementation it traditionally uses. When deploying ColdFusion as a WAR file on WebSphere Liberty, configure only the Liberty features required by ColdFusion and ensure that ColdFusion libraries take precedence over Liberty's server-level libraries.

Configuration steps

  1. Add the following JVM argument to the Liberty jvm.options file.
-Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
  1. Location: <liberty_home>\usr\servers\<liberty_server_instance>\jvm.options
    This configures Liberty to use the JDK's built-in XSLT processor to ensure XSLT processing works correctly.
  2. Restart the Liberty server after saving the file.
    Important: Without this configuration, the server may fail to start and display an error similar to: java.lang.ClassNotFoundException: org/apache/xalan/processor/TransformerFactoryImpl
  3. Enable only the Liberty features required by ColdFusion.
    • servlet-6.0
    • pages-3.1
    • expressionLanguage-5.0
    • cdi-4.0
    The cdi-4.0 feature is required because it provides dependencies that ColdFusion uses during servlet initialization.
  4. Do not enable the following Liberty features.
    • webProfile-10.0
    • restfulWS
    These features load Liberty's REST implementation, which conflicts with the REST libraries bundled with ColdFusion.
  5. Configure the ColdFusion application to use parentLast classloader delegation.
<classloader delegation="parentLast"
apiTypeVisibility="spec,third-party" />
  1. This ensures that ColdFusion's bundled libraries are loaded before Liberty's server-level libraries.
  2. Do not add an extraClasspath entry that points to WEB-INF/cfusion/lib.
    ColdFusion loads these libraries through its own classloader and does not require this setting.
    Important: Without this configuration, REST requests may fail with HTTP 500 errors and messages like: java.util.ServiceConfigurationError: jakarta.ws.rs.ext.RuntimeDelegate, Provider org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl not found

Key configuration requirements and example server.xml

  • Enable only the minimum required Liberty features: servlet-6.0, pages-3.1, expressionLanguage-5.0, and cdi-4.0 (required — it provides a jakarta.enterprise.* class that ColdFusion needs during servlet initialization).
  • Do not enable webProfile-10.0 or restfulWS. These features pull in Liberty's own RESTEasy implementation, which conflicts with ColdFusion's bundled JAX-RS provider and causes the failure described above.
  • Use parentLast classloader delegation for the ColdFusion application, so that ColdFusion's own bundled libraries are loaded ahead of Liberty's server-level libraries.
  • Do not add an extraClasspath entry pointing at WEB-INF/cfusion/lib. ColdFusion loads its own runtime libraries through its own classloader, so this entry is unnecessary and should be omitted.
The following is a representative server.xml snippet for a ColdFusion (2025 release) deployment on WebSphere Liberty.
<server description="ColdFusion 2025 on WebSphere Liberty">
 <featureManager>
 <feature>servlet-6.0</feature>
 <feature>pages-3.1</feature>
 <feature>expressionLanguage-5.0</feature>
 <feature>cdi-4.0</feature>
 </featureManager>
 <httpEndpoint id="defaultHttpEndpoint"
 httpPort="9080"
 httpsPort="9443" />
 <webApplication id="cfusion"
 location="cfusion.war"
 contextRoot="/cfusion">
 <classloader delegation="parentLast"
 apiTypeVisibility="spec,third-party" />
 </webApplication>
</server>
Note: Replace port numbers, application location, and context root with values appropriate to your environment. This file is server-instance specific and should be maintained as part of your deployment process rather than embedded in application source control.

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page