Translate

lunes, 25 de marzo de 2013

java -classpath alternativa a java -jar

Este post que o pongo hoy es debido a la guerra que me está dando la generación de un archivo JAR ejecutable de tal modo que todas las librerías de las que depende para funcionar estén dentro del JAR.

El programa es un método public static void main() de toda la vida que queremos que se arranque por línea de comandos para realizar una serie de operaciones como un daemon ejecutándose cada cierta periodicidad.

El programa lazado en eclipse se lanza perfectamente y funciona, pero una vez empaquetado con eclipse para ejecutarse como Jar no funciona.

La manera en la que he intentado ejecutarlo es la siguiente:


java -jar DaemonBatch-1.1.0.jar

JAR

y dentro del Jar tenemos su correspondiente archivo de Manifest.MF con todo lo necesario para la ejecución, la clase a ejecutar  las dependencias y el classpath.


Manifest-Version: 1.0
Rsrc-Class-Path:  aspectj-1.6.12.jar
 spring-security-3.1.0.RELEASE-ldap.jar spring-security-3.1.0.RELEASE-
 config.jar httpcore-4.1.jar aopalliance-1.0.jar spring-security-3.1.0
 .RELEASE-core.jar org.springframework-3.1.1.RELEASE-transaction.jar j
 stl-1.2-api.jar blazeds-4.0.0.14931-rds-server.jar javamail-1.4.5.jar
  org.springframework-3.1.1.RELEASE-instrument.jar spring-security-3.1
 .0.RELEASE-acl.jar spring-security-3.1.0.RELEASE-web.jar .............
Class-Path: .
Rsrc-Main-Class: com.antuansoft.batch.main.Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader


Lo he exportado de diferentes formas pero siempre me ha dado el mismo error


java.io.FileNotFoundException: URL [rsrc:com/antuansoft/batch/task/] cannot be resolv
ed to absolute file path because it does not reside in the file system: rsrc:com
/antuansoft/batch/task/


Así que he optado por descomprimir el JAR, poner todas las librerias .jar en un directorio lib y ejecutar el siguiente comando para que funcione sin problemas.


java -classpath .;lib/* com.gniux.batch.main.Main

Y ha arrancado sin ningún problema.

Así que si en tu programa no es necesario que este se empaquete todo en un JAR, una alternativa es la que os acabo de proponer.

De todas formas seguiremos investigando.










lunes, 18 de marzo de 2013

Hilos en AS3: Simulación de hilos en action script 3

Para la realización de procesado de datos en cliente que es muy pesado, lo mejor es utilizar hilos, pero Action Script 3 no tiene es capacidad.

Para ello existe una librería que se encarga de simularlos, así que aquí os la dejo para futuros usos, por ahora no he podido hacer ningún ejemplo.

ENDER_LIB: http://code.google.com/p/ender-lib/

jueves, 14 de marzo de 2013

Recuperar Datos de Disco duro Externo con EASEUS Data Recovery

Creo a que todos nos ha pasado alguna vez que hemos copiado algo en un disco duro externo, de estos que se conectan mediante USB, y vimos como se estaban copiando los datos pero al llegar a nuestro ordenador vemos que no se ha copiado nada.

Es lo típico que suele pasar cuando quitamos el conector USB del ordenador sin seleccionar la opción "Quitar Hardware con seguridad".

Con esta herramienta que os presento he recuperado los datos perdidos en el disco duro, ha sido gratificante porque eran los datos que una amiga había salvado antes de formatear el PC y ya creía que los había perdido.

La herramienta es :

EASEUS Data Recover


Es una herramienta bastante intuitiva, para recuperar la información yo seleccioné la opción  de complete recovery y la herramienta estuvo analizando del disco duro(de 500GB) durante 5 horas para después mostrarme la lista de los archivos que nos da la posibilidad de recuperar.



Importante: No debemos de usar el disco duro para nada desde la pérdida de los datos, ya que podemos perder los datos que están ahí. Sobre todo no debemos de grabar datos ya que los sectores del disco duro podrían sobre escribirse con los  nuevos archivos y entonces la información si que estaría perdida.

La limitación es que sólo te permite recuperara hasta 1GB de datos perdidos, así que si no es mucho la solución ya la tenéis pero para más cantidad de información es necesario poner le Serial Key, que tenemos en este vídeo de You tube.

Serial key

Y en este enlace está todo junto por si acaso desaparecen alguno de los enlaces.

EASEUS Date Recovery + key