Skip to main content
Participant
December 9, 2012
Question

Running Coldfusion 10 on Tomcat 7 (J2EE installation)

  • December 9, 2012
  • 1 reply
  • 1002 views

I've successfully installed Tomcat 7 on a Macintosh running 10.7.5.  The ColdFusion WAR file deployed successfully, but when I try to start the service, I get a raft of errors in the Catalina.out log file:

INFO: Deploying web application archive /usr/local/Tomcat7/webapps/cfusion.war

java.lang.ExceptionInInitializerError

          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

...

          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

          at java.lang.Thread.run(Thread.java:680)

Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@36598d00 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category) (Caused by org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@36598d00 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category))

          at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)

          at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)

          at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)

          at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)

          at coldfusion.portlet.wsrp.ProviderImpl.<clinit>(ProviderImpl.java:72)

          ... 55 more

Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@36598d00 for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category)

          at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:413)

          at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)

          ... 59 more

Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category

          at java.lang.Class.getDeclaredConstructors0(Native Method)

          at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)

          at java.lang.Class.getConstructor0(Class.java:2699)

          at java.lang.Class.getConstructor(Class.java:1657)

          at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)

          ... 60 more

Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category

          at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

          at java.security.AccessController.doPrivileged(Native Method)

          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

          at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

          ... 65 more

java.lang.ExceptionInInitializerError

          at java.lang.Class.forName0(Native Method)

I got the same errors when I tried the standalone installer.  Apparently the version of Commons-Logging or Log4J that Coldfusion 10 is expecting isn't the one it's finding?  Does anyone know what this problem is and how to fix it?

This topic has been closed for replies.

1 reply

BKBK
Community Expert
Community Expert
December 9, 2012

ColdFusion 10 ships with an embedded copy of Tomcat. So there is perhaps a conflict between your Tomcat installation and ColdFusion's. It may be hard to believe but, according to the ColdFusion 10 support matrix, deployment on Tomcat is not supported!