2016-08-02 29 views
2

Ich habe zwei Tomcat 5.5-Server. Einer ist für die Entwicklung und einer ist Produktion. Beide laufen auf Java 1.6. Aber kürzlich hatte ich ein Problem, bei dem Generika nicht in der Produktionsumgebung laufen können, aber bei der Entwicklung reibungslos funktionieren. Der Unterschied zwischen diesen beiden Systemen ist in tomcat 5.5/common/lib/. Mein Entwicklungsumgebung enthält ecj-3.7.2.jar, aber die Produktion hat diese Datei nicht stattdessen enthält jasper-compiler-jdt.jar.Tomcat Java Compiler Unterschied

Wenn ich jasper-compiler-jdt.jar durch ecj-3.7.2.jar ersetze, funktioniert die Generika gut. Aus meiner Sicht sind dies die Eclipse JDT Compiler-Bibliotheken, kann ich wissen, was der Unterschied und die Ursache dieses Problems ist. Danke vielmals!

+1

Ich weiß nicht die vollständige Antwort, aber es gibt einige Hinweise in Antworten auf [diese Frage] (http://stackoverflow.com/questions/3061654/what-is-the-difference-between-javac-and) -the-eclipse-compiler) (und in den verknüpften Dokumenten). –

+2

Welche Probleme haben Sie mit Generika? –

+0

@TamasRev Ich hatte das Problem hier gepostet. http://stackoverflow.com/questions/38560851/jsp-compilation-error-on-generics – User420

Antwort

0

Der Unterschied zwischen jasper-compiler-jdt.jar und ecj-3.7.2.jar ist ecj ist der Compiler für 64bit Java 1.6.41 und letzteres ist für 32bit Java 1.6.19. Obwohl beide Compiler aus Java 1.6 stammen, konnte jasper-compiler-jdt.jar Generics wie ecj.jar nicht unterstützen.