En general, un conjunto de códigos (el código del cliente) se vincula con otro (el código API). El enlace de Java normalmente se verifica entre .java & .class en tiempo de compilación o entre .class & .class en tiempo de ejecución. Sin embargo, en este último caso la verificación es como y cuando se encuentran malas referencias (es decir, es flojo).¿Cómo puedo verificar la vinculación entre código Java compilado?
¿Hay alguna manera de forzar la verificación de todos los enlaces entre el código del cliente y el código API a la vez con el código compilado? El objetivo sería verificar que el código del cliente funcione con la versión dada de la API, incluso si se compiló con otra.
(Por supuesto, una forma sería la de descomponer y volver a compilar en contra de la API, pero ¿existe un método más directo?)
El rendimiento no es necesariamente un problema importante ya que se puede recordar el resultado. También en algunas situaciones, la cantidad de código no será necesariamente enorme. –
Muy bien, bien. Es posible que desee utilizar una biblioteca de ingeniería de códigos de bytes como ASM (consulte el uso de CheckClassAdapter) o BCEL (que tiene el verificador JustIce en ella) para realizar la verificación si son suficientes o ampliarlos si es necesario. No estoy seguro si Javassist tiene alguna característica similar. –