在使用SUN的JRE进行编译时,Clojure和Clojure应用程序无法使用IBM SDK进行编译

时间:2013-06-27 17:07:13

标签: clojure compilation

我正在尝试将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编译,但在clojure defmacro 中停止使用IBM的SDK。我与clojure 1.2 + contrib 1.2有类似的结果。我不想超过版本1.2,因为据我所知,这是当contrib退役时,这将是一个重大改写,我怀疑将解决这个问题。

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

1 个答案:

答案 0 :(得分:1)

我终于弄清楚了。

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

感谢大家的努力和支持。

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

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