【问题标题】:ColdFusion 9 Upgrade: Invalid branch target position offsetColdFusion 9 升级:无效的分支目标位置偏移
【发布时间】:2010-07-08 21:35:56
【问题描述】:

我正在将应用程序从 MX7 升级到 9,并在我的 Mac 开发服务器上对其进行测试。我有一个页面有一个大的 cfswitch--20 左右不同的情况,但长度不超过 10-12 行。仅在 CF9 中,每当其中一种情况执行 cfinclude(几乎是所有情况)时,我都会收到如下错误:

org.apache.bcel.generic.ClassGenException: Invalid branch target position offset for jsr[168](3):-1: -1: astore[58](2) 27 at
cfindex2ecfm581352809._factor4(/Users/dlaughland/Workspace/abcapp/surveymanager /surveys/survey/index.cfm:34) at
cfindex2ecfm581352809._factor28(/Users/dlaughland/Workspace/abcapp/surveymanager/surveys/survey/index.cfm:33) at
cfindex2ecfm581352809.runPage(/Users/dlaughland/Workspace/abcapp/surveymanager/surveys/survey/index.cfm:1) at
cfApplication2ecfc1705547767$funcONREQUEST.runFunction(/Users/dlaughland/Worksp ace/abcapp/Application.cfc:215)

我在 Google 上进行了广泛搜索,我能找到的最佳解释是 JDK 错误,据说该错误已在 MX7 中修复!这是什么原因造成的?我如何解决它?这不是唯一一个带有大 cfswitch 的页面,所以我真的不想将所有内容重新写入 cfif 结构。

【问题讨论】:

  • 我想我会的,但我有点希望有一个不涉及 6 个月等待且没有保证的解决方案。 ;)
  • 尝试从其中一个包含中获取代码并将其放入 CFCASE 语句中。无论那里有什么问题,您都可能会收到更好的错误消息,或者您会知道您使用 CFINCLUDE 的方式存在一些问题,并且可能会探索其他技术。

标签: coldfusion jrun


【解决方案1】:

您可以提交错误,但这里有一些步骤可能会帮助您解决该问题。

  1. 尝试更新您的 JRE 版本,您可以获得最新最好的here。然后,您可以通过 CF Admin > Server Settings > Java and JVM 让 CF 使用该 JRE。进一步说明here
  2. 尝试使用 servlet 容器,例如使用 Tomcat 而不是捆绑的 JRun。这里有一些instructions

请问您是否打算在 Mac 上的生产环境中使用它?如果没有,请尝试在将镜像您的实时站点的操作系统上运行您的代码。该错误(如果是错误)可能不在该版本的 CF 中。

希望那里有帮助。

【讨论】:

  • 我认为这是 Mac 平台的错误。我正在开发一个更接近我们的生产服务器的虚拟服务器。如果这不起作用,我会试试你的 Tomcat 想法。感谢您的反馈!附言在 Mac 上,Java 更新仅来自 Apple 的正常软件更新。最新版本为 1.6.0_20b02。
  • 我在我们的 Linux 环境中安装了 CF9,它给了我同样的错误。所以这不是平台错误。 Tomcat 不是一个选项,因为我们没有企业许可证。不过,我确实喜欢我的开发环境。
【解决方案2】:

如果您从 CF7 升级到 CF9 并且代码已经在服务器上,请尝试从 WEB-INF/cfclasses 中删除所有类并重新启动 CF。

【讨论】:

  • 感谢您的反馈,但在这种情况下它不是升级。我全新安装了 CF9 来测试代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 2020-02-08
  • 1970-01-01
  • 2019-05-23
相关资源
最近更新 更多