sábado, 4 de septiembre de 2010

Manifest.MF - java.io.IOException: line too long

Al tratar de crear el jar de mi proyecto, especificando Main-Class y Class-Path me arrojaba el siguiente error
jar -cfm programa.jar Manifest.txt
java.io.IOException: line too long
at java.util.jar.Attributes.read(Attributes.java:362) 
at java.util.jar.Manifest.read(Manifest.java:182) 
at java.util.jar.Manifest. <init> (Manifest.java:52) at sun.tools.jar.Main.run(Main.java:151)
at sun.tools.jar.Main.main(Main.java:1149)
En el campo Class-Path se colocan todos los jar que necesito, adicionales, para ejecutar mi programa, cada jar separados por espacio, pudiendo decir path_relacional/otrojar.jar, como lo dice la documentación de java.

Pero al ejecutar el comando y pasarle el archivo para crear el manifest, me arrojaba el error anterior, busque en internet el error y no conseguí la solución, solo más personas con el mismo problema, pero por pura casualidad mis compañeros de trabajo y yo vimos como lo hace el Netbeas y notamos lo siguiente:

Las lineas donde se colocan los jar son de tamaño fijo, y la siguiente linea donde continua colocando los jar comienza con un espacio en blanco.

Como en el archivo siguiente "Manifest.txt"
Manifest-Version: 1.0
Class-Path: lib/abeilleforms/formsrt.jar lib/apache-http-client/common
s-codec-1.3.jar lib/apache-http-client/apache-mime4j-0.6.jar lib/apac he-http-client/commons-codec-1.3.jar lib/apache-http-client/commons-l ogging-1.1.1.jar lib/apache-http-client/httpclient-4.0.jar lib/apache -http-client/httpcore-4.0.1.jar lib/apache-http-client/httpmime-4.0.j ar lib/axis2/annogen-0.1.0.jar lib/axis2/axiom-api-1.2.7.jar lib/axis 2/axiom-impl-1.2.7.jar lib/axis2/axis2-adb-1.4.1.jar lib/axis2/axis2- java2wsdl-1.4.1.jar lib/axis2/axis2-kernel-1.4.1.jar lib/axis2/backpo rt-util-concurrent-3.1.jar lib/axis2/commons-codec-1.3.jar lib/axis2/ commons-httpclient-3.1.jar lib/axis2/commons-logging-1.1.1.jar lib/ax is2/log4j-1.2.15.jar lib/axis2/neethi-2.0.4.jar lib/axis2/wsdl4j-1.6. 2.jar lib/axis2/wstx-asl-3.2.4.jar lib/axis2/XmlSchema-1.4.2.jar lib/ hsqldb/hsqldb.jar lib/jcalendar/jcalendar-1.3.3.jar /lib/jcalendar/lo oks-2.0.1.jar lib/toplink/toplink-essentials.jar lib/toplink/toplink- essentials-agent.jar Created-By: 1.6.0_0 (Sun Microsystems Inc.) Main-Class: MiClaseMain
Al ejecutar nuevamente
jar -cfm programa.jar Manifest.txt
se creó el jar sin ningún problema

Error al depurar aplicaciones de eclipse en debian squeeze

FATAL ERROR in native method: JDWP No transports initialized,
ERROR: transport error 202: connect failed: Conexión rehusada ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit erro
Es un bug en debian en el archivo
/etc/sysctl.d/bindv6only.conf 
Donde aparece
net.ipv6.bindv6only = 1 
Provoca que el jdk no pueda conectarse con el java debugger
Hay que setearlo a 0
Solución: como root escribir
sed -i 's/net.ipv6.bindv6only\ =\ 1/net.ipv6.bindv6only\ =\ 0/' \/etc/sysctl.d/bindv6only.conf && sudo invoke-rc.d procps restart

domingo, 15 de agosto de 2010

Usando HSQLDB

Conectar HSQLDB al administrador

Posicionarse donde se encuentra la base de datos
cd ../data

Abrir administrador de la base de datos
java -classpath .../lib/hsqldb.jar org.hsqldb.util.DatabaseManager


Ejemplo de conector = jdbc:hsqldb:file:/home/lisibeth/workspace/proyecto/hsqldb/data/nombre_base_dato

Otras clases

org.hsqldb.util.DatabaseManager
org.hsqldb.util.DatabaseManagerSwing //Esta interfaz es mas amigable que la anterior
org.hsqldb.util.Transfer
org.hsqldb.util.QueryTool
org.hsqldb.util.SqlTool

HSQLDB Server
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb





sábado, 14 de agosto de 2010

Instalar Virtualbox con soporte USB en Debian Lenny o Freeze


  1. Antes de comenzar debemos tener instalados los fuentes del kernell linux-header-NUESTRA VERSIÓN

    Si no está instalado, para saber que versión instalar, en consola root escribir

    uname -r
    Que arroja la versión del kernell, luego instalamos

    apt-get install linux-header-NUESTRA VERSIÓN

    *Donde NUESTRA VERSIÓN = al valor dado por uname -r

  2. El paquete build-essensial también tiene que estar instalado, este nos va permitir compilar el Virtualbox

    apt-get install build-essential

  3. Agregamos el repositorio para Virtualbox en consola root

    gedit /etc/apt/sources.list

    Agregar al archivo

    deb http://download.virtualbox.org/virtualbox/debian lenny non-free

  4. Descargar key de Oracle de aquí oracle_vbox.asc

    Agregar Key

    sudo apt-key add oracle_vbox.asc

  5. Actualizamos repositorios
    sudo apt-get update

    Instalamos
    apt-get install virtualbox-3.2

  6. Agregamos nuestro usuario al grupo virtualbox

    adduser lisibeth vboxusers

  7. identificar grupo vboxusers

    $ grep vbox /etc/group

    vboxusers:x:120:lisibeth

    en otro caso pudiera ser diferente.


  8. Abrir archivo mountkernfs.sh

    $gedit /etc/init.d/mountkernfs.sh

    Ubicar
    domount proc "" /proc proc -onodev,noexec,nosuid

    Debajo de ésta agrega la siguiente línea...

    domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=120,devmode=664

    El valor subrayado es el id del paso 7

  9. Abrir archivo mountkernfs.sh

  10. $ gedit /etc/fstab

    Agregando al final las siguientes líneas

    #usbfs
    none /proc/bus/usb usbfs devgid=46,devmode=664 0 0


  11. Habilitar usb en la configuración de la maquina virtual y reiniciar los cambios

lunes, 26 de julio de 2010

Frases ... Pitágoras

“Dios habla a través de las matemáticas”

...Pitagoras...

Estoy jodía!! no entiendo nada, nada la vida! ... Esas matemáticas están fatales.... Seguiré haciendo demostraciones sobre lógica y teoría de conjunto, para mi examen... resultan más fácil de comprender....

lunes, 12 de julio de 2010

Apuntes - Teoría de conjuntos - Paradoja de Russell




Russell:"Me parece que una clase a veces es, y a veces no es, un miembro de sí misma. La clase de las cucharitas de té, por ejemplo, no es otra cucharita de té, pero la clase de cosas que no son cucharitas de té es una de las cosas que no son cucharitas... [esto] me condujo a considerar las clases que no son miembros de sí mismas; y estas, parecía, debían formar una clase. Me pregunté si esta clase es o no un miembro de sí misma. Si es un miembro de sí misma, debería poseer las propiedades que definen a dicha clase, que consisten en no ser miembros de sí mismas. Si no es un miembro de sí misma, no debe poseer la propiedad definitoria de la clase, y por tanto debe ser un miembro de sí misma. Así cada alternativa lleva a su opuesta y existe una contradicción."

Otra forma de exponer la misma idea:

Russell: en un pueblo había un barbero que afeitaba a todos aquellos que nunca se afeitaban a sí mismos, y solo a ellos. ¿Se afeitaba el barbero a sí mismo?

martes, 15 de junio de 2010

A la Soledad

¡Oh, Soledad! Si contigo debo vivir,
Que no sea en el desordenado sufrir
De turbias y sombrías moradas,
Subamos juntos la escalera empinada;
Observatorio de la naturaleza,
Contemplando del valle su delicadeza,
Sus floridas laderas,
Su río cristalino corriendo;
Permitid que vigile, soñoliento,
Bajo el tejado de verdes ramas,
Donde los ciervos pasan como ráfajas,
Agitando a las abejas en sus campanas.
Pero, aunque con placer imagino
Estas dulces escenas contigo,
El suave conversar de una mente,
Cuyas palabras son imágenes inocentes,
Es el placer de mi alma; y sin duda debe ser
El mayor gozo de la humanidad,
Soñar que tu raza pueda sufrir
Por dos espíritus que juntos deciden huir.

--John Keats--