When should tools.jar be updated in ColdFusion Server

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.

 

Normal
0

false
false
false

EN-US
X-NONE
X-NONE

 

12 Responses

  1. “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.

  2. @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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. @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 reply

Your email address will not be published. Required fields are marked *

By submitting this form, you accept the Mollom privacy policy.

Related