JAVA REBEL
Si sos programador JAVA web, sin importar el framework que uses, seguramente haces muchos redeploys para ver los cambios. Caso tipico... struts + tomcat... al cambiar una .jsp vemos el cambio instantaneo pero.. al cambiar un .java debemos reiniciar el tomcat, que son de minimo 10 segundos de perdida de tiempo.
¡JAVA REBEL al rescate!
JAVA REBEL hace que cambiemos un archivo .java y veamos los cambios instantaneamente !! (al estilo PHP) sin tener que reiniciar nada. Es un plugin de la JVM y muy facil de instalar (hay que pasarle un parametro a la jvm y listo).
Incluso se pueden encontrar videos en youtube, y en su propio sitio, para verlo en mas detalle:
http://www.zeroturnaround.com/jrebel/
Yo lo use con struts1, struts2, tapestry, incluso con Alfresco (basado en JSF) y siempre funciono bien y aumento mucho mi productividad
¿Problema?
Si... que dura 30 dias, con una llave digital dificil de crackear... pero un oriental descubrio una manera de quebrarlo muy simple.
(Esta seccion que viene es para usuarios mas avanzados)
El codigo de javarebel esta completamente ofuscado y todavia nadie pudo decompilarlo, aunque si de a partes. Se puede ver que cuando la licencia expira, hace un System.exit(0);
Al oriental se le ocurrio directamente cambiar el System.exit nativo de la JRE, y que haga esto:
"si javarebel me llama, no finalizo la ejecucion, en todos los otros casos termino normalmente"
Debemos abrir el src.zip ubicado en c:\.....\jdkXX y descomprimir java/lang/System.java
Debemos cambiar este metodo:
public static void exit(int status) {
Runtime.getRuntime().exit(status);
}
por este....
public static void exit(int status) {
int i;
boolean exit = true;
StackTraceElement stack[] = (new Throwable().getStackTrace());
for (i = 0; i < stack.length; i++) {
StackTraceElement ste = stack;
if (ste.getClassName().contains( "com.zeroturnaround.javarebel" ))
exit = false;
}
if (exit) Runtime.getRuntime().exit(status);
System.out.println("Aborted exiting! :-) " ) ;
}
Bárbaro, solamente nos resta compilarlo (usando javac), y al System.class resultante, tenemos que meterlo en:
c:\...\jreXX\jre\lib\rt.jar (usando el winrar es muy simple, es copy paste)
Ahora ya tenemos javarebel x siempre, sin restricciones
0 comentarios:
Publicar un comentario