[devel] Eclipse(java): the stumbling stone.

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Пт Фев 29 15:14:15 MSK 2008


Уважаемые коллеги,
до сих пор не могу собрать eclipse в полностью рабочем виде,
и хочу описать здесь свои проблемы, так как был бы полезен 
свежий взгляд.

Итак, ошибка, которую я не могу перепрыгнуть, заключается в следующем:
При попытке просмотра оглавления справки выдается ошибка

java.lang.IncompatibleClassChangeError: Class org.apache.jasper.servlet.JspServlet does not implement the requested interface javax.servlet.Servlet

и далее по тексту.

Я понимаю это сообщение таким образом: 
в процессе сборки какого-то другого пакета была допущена ошибка, и он
был собран с servletapi4 вместо servletapi5. Класс из этого пакета
загружается раньше и тянет за собой servletapi4, что не дает 
org.apache.jasper.servlet.JspServlet загрузиться, либо же 
(что скорее всего не так) 
org.apache.jasper.servlet.JspServlet сам собран с servletapi4.

А проблема в следующем: не могу вычислить этот плохой класс
просто размышляя над спеком или перебирая варианты сборки.
Слишком большой и тяжелый этот eclipse, слишком долго он собирается...

А готовых инструментов, как я ищу их все последнее время, нет.
java разработчики всячески избегают динамической линковки.
Если программа собралась с каким-то набором jar'ов, то она и будет 
таскать их с собой, как священную корову.

Готового инструмента, который бы проверял заданный набор библиотек на
совместимость, нет, насколько я понимаю. Никто не подскажет?

Конечно, все нужные инструменты идейно достаточно просты, и написать 
их не так сложно. Java подсистеме Сизифа набор инструментов, подобный
qa-robots для бинарников ELF, не помешал бы, а конкретно в случае
с Eclipse без них я оказался просто беспомощным.

Но все это займет время, да и перед началом всякого дела
желательно оценить и овчинку, и выделку.

Другую проблему - где и как запускать эти java qa-robots - уже решаю.
Для этого я сейчас пишу repocop, универсальную пускалку юнит-тестов, 
чтобы тесты запускались автономно и всегда на свежем Сизифе.


-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine




Подробная информация о списке рассылки Devel