Clojure和Clojure应用程序不';t使用IBM SDK编译,而使用SUN';s JRE

Clojure和Clojure应用程序不';t使用IBM SDK编译,而使用SUN';s JRE,clojure,compilation,Clojure,Compilation,我正在尝试将clojure应用程序从SUN JRE上的Tomcat迁移到IBM SDK上的WebSphere application Server。应用程序使用SUN JRE 1.7编译fine(ANT),但使用IBM的SDK 6、7抛出NullPointerException 我怀疑clojure本身(v1.1+contrib1.1)并试图编译它。同样,clojure使用SUN的JRE编译,但在clojuredefmacro上停止使用IBM的SDK。我在clojure 1.2+contrib

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

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


任何建议都将不胜感激。提前谢谢。

我终于弄明白了

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

谢谢大家的努力和支持

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


从Java7SR4及更高版本开始,JIT问题已得到修复。这是WebSphere Application Server V8.5.5附带的SDK 7。

您有引发异常的行(或宏的名称)吗?使用IBM SDK时是否运行任何clojure代码?感谢Juan和Aurthur回复我。编译在core.clj、L2019、defmacro deseq处停止。Arthur,我无法使用IBM的SDK编译clojure库或clojure代码,更不用说运行:-)