问题
I'm running OSX 10.8.5 and recently installed Coldfusion 9.0.2 and applied the hotfix so I'm running CF Version 9,0,2,282541 (which should be compatible with Java 1.7). My prod environment is running Java 1.7 so I'm trying to replicate that on a dev machine. The Java Version currently being used by CF is 1.6.0_65.
My dev box has Java running in multiple locations as follows:
System/Library/Java/JavaVirtualMachines/1.6.0.jdk
Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk
When I run java-version from within Terminal, I get the following:
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
However, when I start CF, it reverts to 1.6.0_65:
Java Version: 1.6.0_65
Java Vendor: Apple Inc.
Java Home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Now I know that CF doesn't use the system environment variable JAVA_HOME. It uses the jvm.config argument "java.home"
When I run 'java -version' within terminal, that is using the java version that it finds in the system path, which is different from what CF can use.
Based on this, I've attempted to update my jvm.config file so that the java.home variable is now /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/jre but even after restarting CF, it reverts to the default of 1.6.0_65 as shown below.
One interesting thing is that if I look at the Adobe_Coldfusion9_Install_Log.log, I do see the following variables (among other things) set during the installation.
java.ext.dirs: 1.) /Library/Java/Extensions 2.) /System/Library/Java/Extensions 3.) /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext
java.version: 1.6.0_65 (Java 1)
java.home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
The true question is how can I get CF to recognize changes to these if it's not looking at my jvm.config file??? How can I force it to use the "/Library/" path instead of the "System/Library" path?
This is very similar to the crazy4mustang's question posted below but it is unanswered. The only real differences is that he is running Mavericks and I'm on Mountain Lion.
Can't update Coldfusion to Java 1.7 on OSX 10.9
回答1:
Disclaimer: I am not running OSX
I found a couple of articles referring to three files that need to be updated in order to change the Java path for ColdFusion running on OSX. There is this reference which is regarding ColdFusion 10 but I would assume similar locations for ColdFusion 9.
- /Applications/ColdFusion10/cfusion/bin/jvm.config
- /Applications/ColdFusion10/cfusion/bin/coldfusion
- /Applications/ColdFusion10/cfusion/runtime/bin/wsconfig_jvm.config
In each of these, there was a setting to set the Java home path. It was set to the old location for Java 6. I updated these to point to Java 7.
Read this note from Adobe regarding ColdFusion 9.0.2, Java 1.7 and OSX
JDK 1.7 is only supported on Mac OS X 10.7 and above. See this article for more details. As ColdFusion 9.0.2 does not support Mac OS X 10.7, Cumulative Hot fix 1 does not certify ColdFusion 9.0.2 with JDK 1.7 on Mac OS X.
来源:https://stackoverflow.com/questions/24942062/why-cant-i-update-java-from-1-6-to-1-7-on-coldfusion-9-0-2-on-mac-osx-10-8-5