tools.jar contains the utilities to compile java source into class files.

While using ColdFusion Web services stubs have to be generated.

So, this utility is required for this feature to be functional.

The tools.jar is shipped by default with ColdFusion along with full installation of ColdFusion which would be same version of the jre that ColdFusion is shipped with.

If you are just using this default installation and the built-in jre, your ColdFusion web services do work fine.

However, due to security bugs or platform support you would want to update the jre version that ColdFusion runs on.

Once you do that, please make sure to copy the tools.jar file manually from {JDK_Home}/lib to {cf_install_home}/cfusion/lib/

Only JDK contains the tools.jar file not the jre installation. You don't have to install JDK on the machine where ColdFusion is installed. You can just have jre on this machine and get tools.jar from any other machine's JDK installation.

And also make sure that the earlier stubs are cleared from {cf_install_home}/cfusion/stubs/ to get the newly compiled classes.

It is necessary to update tools.jar ONLY if you are upgrading the jre to a a higher major version.

Say, if you are upgrading from 1.8 U5 to 1.8 U51 you don't have to update tools.jar file.

But, say   if you are upgrading from 1.7 U55 to 1.8 U51, you have to update tools.jar file.

 

Another case where you would want to update the tools.jar is JEE deployments.

Say, if you are using Websphere application server with IBM JDK, you have to place the corresponding JDK's tools.jar under  {cf_install_home}/cfusion/lib/.

The same applies to any other application server as well.

The simple rule is that tools.jar has to be from the same major version of Java (minor version doesn’t matter) that ColdFusion runs on.

 

This applies to any version of ColdFusion and the same applies to all platforms.

You can copy tools.jar from Windows machine to Solaris macine as well as long as the version is correct.

 

 

13 Comments to “When should tools.jar be updated in ColdFusion Server”

  1. Paul
    Can you make this part of a ColdFusion update? Detect the version of Java and verify the correct tools.jar is installed?
  2. Tyler Clendenin
    I guess the simple question is, "Why isn't this path configurable?"
  3. Tom Chiverton
    "It is necessary to update tools.jar ONLY if you are upgrading the jre to a a higher major version.
    Say, if you are upgrading from 1.8 U5 to 1.8 U51 you don't have to update tools.jar file."

    What if the update fixes a security issue in tools.jar though ? Safest to always copy it.

    Or just use a full JDK with ColdFusion, not the cut down JRE.
  4. Carl Von Stetten
    @Tom even if you do use a full JDK, you still have to copy the tools.jar file to the location inside the ColdFusion install. So from that perspective, there is no inherent advantage to using JDK over JRE.
  5. Shawn
    If there is a security risk behind the Java version that CF runs on top of, you release an update that fixes it as it becomes available. Don't expect people to pick apart jar files and risk corruption of their install.
  6. Tom Chiverton
    @noi Yes you do. What if a security fix is contained in tools.jar ? Adobe seem to be ignoring this.
  7. Tyler Clendenin
    @Tom, I think the idea is that if tools.jar has a security fix, then Adobe should release a Coldfusion patch which will have the patched tools.jar
  8. Tom Chiverton
    Adobe can't package tools.jar because they don't know what JVM you are using, and you can change JVM by editing a configfile, and by the time Tomcat has started it's too late to swap a different tools.jar in.
  9. Charlie
    Subscribing
  10. Christopher Tierney
    I always forget to do this... there should really be something in CF Admin like a configurable path or a check process to make sure you are running the right one. Heck even a reminder after updating the Java path would be simple enough.
  11. Wil Genovese
    What the hell Adobe!!!! You have to have a copy of tools.jar in a different location that from the installed Java location?!?!?!?! That's nutter insane!
  12. Krishna Reddy
    I am sorry for the delayed response due to some unavoidable reasons.

    Firstly, after hearing your comments, I would like to let you know that we have added this feature to the updater and will be available in the next update for both ColdFusion 10 and 11.
    Updater takes care of updating tools.jar automatically.
    While running that updater, if the version of jre that ColdFusion runs on is 8, then Java 8's tools.jar is installed automatically.

    One obvious limitation is if you change jre version post-hotfix installation, tools.jar updation has to be taken care by you.

    We anyway ship tools.jar along with the full installation. Because of the size of the file, in the hotfix we include new jre (say java 8's) version's tools.jar only. Not the old one(say java 7's).
    So, if you are manually downgrading the jre (say 8 to 7), you have to manually take care of this.
  13. Christopher Tierney
    @Krishna, that takes care of 1/2 half of the issue. Thanks. I would still consider putting in a solution in the CF Admin since most people are going to upgrade the JRE after any updates, thus still running into this issue.

Leave a Comment

Leave this field empty: