我正在尝试将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退役时,这将是一个重大改写,我怀疑将解决这个问题。
任何建议表示赞赏。提前谢谢。
答案 0 :(得分:1)
我终于弄清楚了。
问题出在IBM JDKs版本6中(尽管某些版本的6可能没有问题)和7 JIT编译器。通过禁用JIT(例如JVM参数中的-Xnojit),我能够成功构建。
感谢大家的努力和支持。
=============编辑=============
JIT问题已从Java 7 SR4及更高版本开始修复。这是随WebSphere Application Server V8.5.5一起提供的SDK 7。