com.sun.beans.TypeResolver
работает уже давно, а с новым тестом для com.sun.beans.finder.ClassFinder
началась мистика.С локальной сборкой тест работал как ожидалось, поэтому был отправлен в пространство на сервер. Через некоторое время на меня выставили баг, что тест не работает, так как класс ClassFinder не найден. Я скачал последние сырцы, скомпилировал и у меня заработало. В результате долгой с тестерами выяснилось, что тест не работает только с построенным для публикации bundle.
Оказалось, что при компиляции Java использует символьный файл lib\ct.sym, который создаётся автоматически. Как его обновлять никто не знает. В моём случае это не актуально, но неожиднно для публичных классов, которые использовал мой коллега.
Зачем этот класс тоже никто не знает, но он есть и портит всем жизнь. Если бы он был нужен для обеспечения security, то это было бы понятно, но можно просто обойти это ограничение, использовав следующий ключ для компиляции:
java -XDignore.symbol.file ClassName.java
PS. Век живи - век учись. Вроде уже столько лет разрабатываю саму Java и, всё-равно, нашёл что-то новенькое, про что большинство и не знает.
Комментариев нет:
Отправить комментарий