Acabo de postar no meu blog no java.net sobre a mudança no tratamento de class literals no Java 5 e seus efeitos colaterais nocivos. Basicamente, o uso de uma expressão como MinhaClasse.class
não garante que a classe foi inicializada, i.e., que seu bloco static
e membros estáticos foram inicializados. Confira!
Oi Michael
Parece que o pessoal da apache sacou esse problema com o commons deles quando ia sair o java 5:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4993813
Realmente dureza fazerem mudanças que quebram a compatibilidade….