Also, I found the following infor in 'i" page in CF Administrator. Java Class Version | 50.0 Oh ... that explains it. Your ColdFusion instance is using java 1.6. and used Java7 to compile the Java file Now the original error makes sense. When you compile with the default settings, the generated class files are not backward compatible. They are marked to require whatever java version you used to compile them. Since you compiled with java 7, the classes can only be used with java 7 (or higher). Since your ColdFusion instance is running an earlier version (ie 1.6) it obviously cannot load those classes. If you want the classes to be backward compatible, you need to use the "-target" flag when compiling. Or better yet, just download the compatible jdk (1.6), since CF9 does not officially support java 7 anyway. So obviously CF9 only recognize Java Class Version 50. The Java class file produced by Java7 is versioned 51. I believe this will get udpated in CF10. It is not really about the ColdFusion version, so much as the jvm version used by ColdFusion. "Class version" is used to determine compatibility of java code. However, it comes from the java system properties, not ColdFusion. So it changes depending on which jvm is listed in the ColdFusion Administrator. Unless CF10 ships with java 7 (which I do not think it does) the class version will remain 50.0. java 1.4.2 => class version is 48.0 java 1.5.x => class version is 49.0 java 1.6.x => class version is 50.0 java 7.x.x => class version is 51.0 CF9 comes with JVM, but not the JDK. CF9 can only run class file, but it can't produce class file. Well .. ColdFusion can produce class files. Otherwise none of your CF applications would work ;-). But yeah, you are right that the standard jre does not include the command line compiler: javac.exe. That is only included in the jdk.
... View more