2

我正在尝试将 clojure 应用程序从 SUN JRE 上的 Tomcat 迁移到 IBM SDK 上的 WebSphere Application Server。该应用程序使用 SUN JRE 1.7 编译良好 (ANT),但使用 IBM 的 SDK 6、7 抛出 NullPointerExceptions。

我怀疑 clojure 本身(v1.1 + contrib 1.1)并试图编译它。同样,clojure 是使用 SUN 的 JRE 编译的,但在 IBM 的 SDK 中停止使用 clojure defmacro。我使用 clojure 1.2 + contrib 1.2 得到了类似的结果。我不想超过 1.2 版,因为据我了解,那是 contrib 退休的时候,我怀疑这将是一个很大的重写,我怀疑会解决这个问题。

任何建议表示赞赏。提前致谢。

4

1 回答 1

1

我终于能够弄清楚了。

问题出在 IBM JDK 版本 6(尽管 6 的某些版本可能没有问题)和 7 JIT 编译器。通过禁用 JIT(例如 JVM 参数中的 -Xnojit),我能够成功构建。

感谢大家的努力和支持。

============= 编辑 ==============

从 Java 7 SR4 及更高版本开始,修复了 JIT 问题。这是随 WebSphere Application Server V8.5.5 一起提供的 SDK 7。

于 2013-07-04T10:01:42.440 回答