【问题标题】:Tomcat Java Compiler differenceTomcat Java 编译器的区别
【发布时间】:2016-08-02 07:11:39
【问题描述】:

我有两个 tomcat 5.5 服务器。一种用于开发,一种用于生产。两者都在 Java 1.6 上运行。但是最近我遇到了一个问题,即泛型无法在生产环境中运行,但在开发环境中运行顺利。这两个系统之间的区别在于tomcat 5.5/common/lib/。我的开发环境包含ecj-3.7.2.jar,但生产没有此文件,而是包含jasper-compiler-jdt.jar

当我用 ecj-3.7.2.jar 替换 jasper-compiler-jdt.jar 时,泛型工作正常。据我了解,这些是 Eclipse 的 JDT 编译器库,我能知道有什么区别和这个问题的原因吗?非常感谢!

【问题讨论】:

  • 我不知道完整的答案,但在this question 的答案中(以及链接的文档中)有一些线索。
  • 泛型有哪些问题?
  • @TamasRev 我在这里发布了问题。 stackoverflow.com/questions/38560851/…
  • @JozefChocholacek 我认为您链接的问题无关紧要,因为我们在此设置中看不到 javac,只有 ecj 的两个变体,即编译器-jdt。我也有兴趣了解这两个变体之间的关系:版本如何对应?碧玉的东西是否包含原始 ecj 的任何更改?

标签: java jsp generics eclipse-jdt tomcat5.5


【解决方案1】:

jasper-compiler-jdt.jarecj-3.7.2.jar 的区别在于 ecj 是 64 位 Java 1.6.41 的编译器,后者是 32 位 Java 1.6.19 的编译器。即使两个编译器都来自 Java 1.6,jasper-compiler-jdt.jar 也不支持像 ecj.jar 这样的泛型。

【讨论】:

    猜你喜欢
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2017-01-02
    相关资源
    最近更新 更多