【问题标题】:Why can't I update Java from 1.6 to 1.7 on Coldfusion 9.0.2 on Mac OSX 10.8.5为什么我不能在 Mac OSX 10.8.5 上的 Coldfusion 9.0.2 上将 Java 从 1.6 更新到 1.7
【发布时间】: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 的问题非常相似,但没有得到解答。唯一真正的区别是他在小牛队,而我在山狮队。

Can't update Coldfusion to Java 1.7 on OSX 10.9

【问题讨论】:

    标签: macos jvm java-7 coldfusion-9 jdk1.6


    【解决方案1】:

    免责声明:我没有运行 OSX

    我发现有几篇文章提到了需要更新的三个文件,以便更改在 OSX 上运行的 ColdFusion 的 Java 路径。 this reference 与 ColdFusion 10 有关,但我认为 ColdFusion 9 的位置相似。

    • /Applications/ColdFusion10/cfusion/bin/jvm.config
    • /Applications/ColdFusion10/cfusion/bin/coldfusion
    • /Applications/ColdFusion10/cfusion/runtime/bin/wsconfig_jvm.config

    在每一个中,都有一个用于设置 Java 主路径的设置。它被设置为 Java 6 的旧位置。我将它们更新为指向 Java 7。

    阅读this note from Adobe,了解 ColdFusion 9.0.2、Java 1.7 和 OSX

    JDK 1.7 仅在 Mac OS X 10.7 及更高版本上受支持。有关更多详细信息,请参阅此article。由于 ColdFusion 9.0.2 不支持 Mac OS X 10.7,因此 Cumulative Hotfix 1 不会在 Mac OS X 上使用 JDK 1.7 认证 ColdFusion 9.0.2。

    【讨论】:

    • 首先感谢您的回复。我尝试了您链接中的第一个建议,并在这些文件中找到了对 JAVA_HOME 的引用,但更改它们并没有帮助。我什至使用 $echo 在 CF Startup 上输出 JAVA_HOME 并打印出正确的值,但 CF 不使用该 JVM (1.7)。 Adobe 的评论非常含糊,因为它两次引用了 OS X 10.7,但最后一条声明说“Cumulative Hotfix 1 does not certify ColdFusion 9.0.2 with JDK 1.7 on Mac OS X”。这是否意味着它不能在 Mac OS X 10.8 上进行认证?我开始不这么认为了。
    • 同意,我还发现他们的评论含糊不清,不知道这意味着什么。但是,仅仅因为它没有“认证”并不意味着它不会工作。抱歉,以上内容对您不起作用。我发现一些参考资料表明这些文件是关键。
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多