2016-08-02 15 views
2

У меня есть два сервера tomcat 5.5. Один для развития, а один - Производство. Оба работают на Java 1.6. Но в последнее время у меня возникла проблема, когда дженерики не могут работать в производственной среде, но плавно работают над разработкой. Разница между этими двумя системами составляет tomcat 5.5/common/lib/. Мое развитие envr содержит ecj-3.7.2.jar, но в производстве нет этого файла, вместо этого он содержит jasper-compiler-jdt.jar.Разница компилятора Tomcat Java

Когда я заменяю jasper-compiler-jdt.jar на ecj-3.7.2.jar, дженерики прекрасно работают. Насколько я понимаю, это библиотеки JDT-компилятора Eclipse, могу ли я узнать, в чем разница и причина этой проблемы. Большое спасибо!

+1

Я не знаю полного ответа, но есть некоторые подсказки в ответах на [этот вопрос] (http://stackoverflow.com/questions/3061654/what-is-the-difference-between-javac-and -the-eclipse-компилятор) (и в связанных документах). –

+2

Какие у вас проблемы с дженериками? –

+0

@TamasRev Я разместил проблему здесь. http://stackoverflow.com/questions/38560851/jsp-compilation-error-on-generics – User420

ответ

0

Разница между jasper-compiler-jdt.jar и ecj-3.7.2.jar - это ecj - это компилятор для 64-битной Java 1.6.41, а последний для 32-разрядной Java 1.6.19. Несмотря на то, что оба компилятора с Java 1.6, jasper-compiler-jdt.jar не может поддерживать такие дженерики, как ecj.jar.