KB-1050 "Provider com.sun.script.javascript.RhinoScriptEngineFactory not found" error printed during JBoss startup

Symptoms

During JBoss startup, the following error is printed in the console and the application server log:

ERROR [stderr] (Spring executor 5) ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider com.sun.script.javascript.RhinoScriptEngineFactory not found

Cause

The error occurs because Java 8 includes a different JavaScript engine library, which is used instead of the Rhino script engine. JBoss is still configured to use the Rhino script engine out of the box, so it will try to locate it. When it fails to locate the Rhino script engine, the error is printed in the logs and console.

This error can be safely ignored. Even though the product will continue to operate correctly, this error message will appear repeatedly in the JBoss logs if no action is taken.

Note: Starting with Appian 7.8, only JDK 8 is supported for use. Refer to the System Requirements page for the minimum required JDK version specific to your version of Appian.

Action

To remove the error from the console and the application server log, perform the following steps:

  1. Stop JBoss.
  2. Navigate to <JBOSS_HOME>/modules/system/layers/base/sun/jdk/main/service-loader-resources/META-INF/services.
  3. Edit the javax.script.ScriptEngineFactory file.
  4. Remove the com.sun.script.javascript.RhinoScriptEngineFactory line and save the file.
  5. If running JBoss EAP 6.4.13 or later, navigate to <JBOSS_HOME>/modules/system/layers/base/.overlays/layer-base-jboss-eap-6.4.18.CP/sun/jdk/main/service-loader-resources/META-INF/services/ and perform steps 3 and 4 again.
  6. Restart JBoss.

Affected Versions

This article applies to Appian 7.8 and later and using JBoss EAP as an application server.

Last Reviewed: April 2017

Related
Recommended