Hola a todos,
tengo una pequeña aplicacion java con solo dos formularios, en la que uno de ellos utiliza una jar de terceros. Funciona bien en local pero cuando genero el jnlp y ejecuto desde jws este formulario no llega a abrirse y no muestra ningun error.
Todos los jar estan firmados (los propios desde netbeans y el de terceros desde la linea de comandos).
Llevo un tiempo intentando solucionarlo pero no se que estoy haciendo mal. ¿Alguien puede echarme una mano? (espero haber descrito bien el problema)
Saludos,
¿Has creado los archivos .jnlp para los jars?
Test.jnlp
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="Test.jnlp">
<information>
<title>Prueba JNLP</title>
<vendor>Nombre del vendor</vendor>
<homepage href="http://localhost:8080/" />
<description>Descripcion</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<!-- version de java requerida -->
<j2se version="1.7+" />
<!-- indica como se llama el jar -->
<jar href="TestJnlp.jar" />
</resources>
<!-- Clase principal -->
<application-desc main-class="ruta.clase.Main" />
</jnlp>
¿Qué servidor estás usando? Si estás usando apache copia el jar y su archivo descriptor .jnlp en webapps/ROOT.
Saludos.
Hola Gus,
el servidor que utilizo es tomcat 8.0, y sí que están generados los .jnlp: netbeans me ha generado uno que contiene el primer formulario y una referencia al segundo donde se encuentran definidos el resto de jar's (2 propios y el de terceros)
¿Todos los jars y .jnlp están en el directorio de tomcat?
La aplicación esta en el directorio webapps\Gestion y es donde estan los .jnlp y el jar de acceso (principal). Ademas dentro de este se encuentra el directorio \lib que es donde están el resto de jars, tanto propios como el de terceros.
Hmm es raro. Quizás sea problema con la caché. Ejecuta el comando:
javaws -viewer
Se te abrirá el panel de control de Java y elimina historiales. Prueba si ahora ya puedes ejecutarlo.
También lo había hecho (y he vuelto a hacer), pero nada.
Incluso lo probé con otra pequeña aplicación y un jar diferente (también de terceros y firmado por mí) y lo mismo.
¿Puedo tener algo mal configurado ó estar haciendo mal alguna cosa que a mí me parezca normal?
pd: Gus, gracias por la ayuda
¿Cuando ejecutas el archivo, ves al menos la imagen de JavaWS?
(http://i.imgur.com/0GbeNrM.png)
Si no la ves, puede ser señal que la JWS esté corrupta y quizás una re-instalación del JRE (quizás una versión más reciente) lo pueda solucionar.
PD: No te preocupes, las ayudas y favores son prestadas en éste mundo ;)
La aplicación sí arranca: muestra la pantalla de acceso, y una vez validado el usuario accede a la segunda pantalla, y es desde esta, que al intentar acceder/abrir un formulario de consulta que contiene la clase ubicada en el jar de terceros (el jar es swingx-all-1.6.4.jar) no hace nada y tampoco da ningún error.
(Como ya adelanté, la misma operación en local funciona)
En primera, te recomendaría mucho que no uses jnlp ni applets, están obsoletos hace mucho tiempo, en realidad, tienen poca utilidad.
La mejor recomendación que puedo darte en éste punto es que debuguees tu aplicación. Buscan en Google como hacer un debug en NetBeans o también puedes usar JUnit para hacer tests de cada método para que te cerciores que todos los métodos están haciendo su trabajo correctamente.
Otra opción es que publiques éste tema en StackOverFlow (http://stackoverflow.com) (en inglés). Allí hay mucha gente que conoce bien Java y te puede dar una mejor respuesta.
Salu2.
Entendido. Voy a seguir tus consejos. Gracias de nuevo por tu ayuda.