2011-03-04 19 views
5

Todas las referencias que he encontrado en la web dicen que el bytecode se puede modificar en tiempo de ejecución, pero no parece encontrar si ese bytecode modificado podría reemplazar el original.¿Es posible modificar el bytecode y guardarlo con javassist?

De esta forma, el bytecode original podría ser sustituido una vez, y el resto del tiempo, usar el mejorado después.

Respuesta

3

Sí, se llama build-time instrumentación de código de bytes; javassist, así como bibliotecas como aspectj es compatible con este modelo.

He tenido una buena experiencia con este último en combinación con Apache Maven usando el aspectj-maven-plugin.

[Editar] Ver también el artículo Implementing Build-time Bytecode Instrumentation With Javassist.

+0

Eso era lo que estaba buscando. Gracias. Parece que es posible, ¡intentándolo ahora mismo! – OscarRyz

+0

Si alguien quiere ver la muestra (en español) aquí está el enlace: http://www.javamexico.org/blogs/oscarryz/nano_ejemplo_de_javassist Solo mire el código, es auto explicativo – OscarRyz

Cuestiones relacionadas