【发布时间】:2014-07-24 19:12:34
【问题描述】:
我正在运行 OSX 10.8.5,最近安装了 Coldfusion 9.0.2 并应用了修补程序,因此我正在运行 CF 9,0 版, 2,282541(应该与 Java 1.7 兼容)。我的产品环境正在运行 Java 1.7,所以我试图在开发机器上复制它。 CF 当前使用的 Java 版本是 1.6.0_65。
我的开发盒在多个位置运行 Java,如下所示:
System/Library/Java/JavaVirtualMachines/1.6.0.jdk
Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk
当我在终端中运行 java-version 时,我得到以下信息:
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)
但是,当我启动 CF 时,它会恢复到 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
现在我知道 CF 不使用系统环境变量 JAVA_HOME。它使用 jvm.config 参数“java.home”
当我在终端中运行“java -version”时,它使用的是它在系统路径中找到的 java 版本,这与 CF 可以使用的不同。
基于此,我尝试更新我的 jvm.config 文件,以便 java.home 变量现在是 /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/jre 但即使在重新启动 CF 后,它也会恢复为默认的 1.6.0_65,如下所示。
一个有趣的事情是,如果我查看 Adobe_Coldfusion9_Install_Log.log,我确实看到了在安装过程中设置的以下变量(除其他外)。
java.ext.dirs: 1.) /库/Java/扩展 2.) /系统/库/Java/扩展 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
真正的问题是,如果 CF 不查看我的 jvm.config 文件,我如何才能让 CF 识别这些更改?如何强制它使用“/Library/”路径而不是“System/Library”路径?
这与下面发布的 crazy4mustang 的问题非常相似,但没有得到解答。唯一真正的区别是他在小牛队,而我在山狮队。
【问题讨论】:
标签: macos jvm java-7 coldfusion-9 jdk1.6