Foro sobre Java EE > Ayuda con Java Web Start y json/gson
Ampliación de la consulta:
El error que muestra es:
java.lang.ClassNotFoundException: com.google.gson.Gson
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
..........
y lo genera la declaración del objeto: Gson gson = new Gson();
Guenas.
No tengo ni idea del tema que hablas pero el error grita donde esta el problema.
La definición de tu jnlp no incluye la descarga de la librería de google. No recuerdo como se definen los jnlp pero seguro que hay una opción para que que se incluya esta librería de alguna manera y la descargue al cliente.
Un saludo,
Paposo
Hola Paposo, gracias por tu contestación,
si tengo definida la libreria en el jnlp, y por eso estoy tan 'perdido':
<resources>
....
<jar href="lib/gson-2.2.4.jar"/>
</resources>
Para que conste, solo he conseguido hacerlo funcionar si no firmo el proyecto y modifico el archivo java.policy del pc cliente asignando todos los permisos:
permission java.security.AllPermission;
a mi también se me cae cuando en alguna clase declaro Gson g=new Gson();
y eso que esta declarado
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/MIND/" href="jar/clienteFE.jnlp">
<title>Cliente</title>
<vendor>www.cliente.com.pe</vendor>
<homepage href="index.html"/>
<description>Esta es la aplicacion Cliente</description>
<description kind="short">Cliente</description>
<offline-allowed/>
<resources>
<j2se version="1.7+"/>
<jar href="jar/gson-2.2.2.jar"/>
<jar href="jar/clienteFE.jar"/>
</resources>
</jnlp>
pero de manera local si funciona
Prueba a incluir la libreria en tu jar, puede que esté ahí el problema!!
Buenos dias:
Tengo el mismo problema con una aplicacion que en dispositivos con Android 4.0.3, 4.0.4, 4.2.0 y 4.4.4 no funciona por que sale el siguiente error.
java.lang.NoClassDefFoundError: com.google.gson.Gson
at br.liveo.ecofuturo.ecofuturo.Gestor.GestorEcofuturo.(GestorEcofuturo.java:48)
at br.liveo.ecofuturo.ecofuturo.Task.TaskConfiguracion.(TaskConfiguracion.java:36)
at br.liveo.ecofuturo.ui.activity.PrincipalActivity.LoadConfiguration(PrincipalActivity.java:232)
at br.liveo.ecofuturo.ui.activity.PrincipalActivity.onCreate(PrincipalActivity.java:122)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2035)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2096)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:4787)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
at dalvik.system.NativeStart.main(Native Method)
Ya realice la actualizacion de la libreria com.google.gson.Gson ya que estaba trabajando con la version 2.2.2, importe la libreria como dicen otros foros y compile con la versio 2.7.0, pero de todas maneras me sigue apareciendo el mismo error.
Hola a todos,
Llevo varios dias intentando hacer funcionar una pequeño proyecto en el que se accede via web a un jnlp el cual recive informacion de un servlet en formato json.
Si lo ejecuto desde Netbeans si funciona (ya sea con json o con gson) pero cuando genero la version jnlp deja de hacerlo.
Las librerias que he usado son java-json.jar / gson-2.3.1.jar (definidas en el <resources> ... </resource>) y el proyecto tambien está firmado.
¿Alguien me puede echar una mano o decirme que estoy haciendo mal?
Gracias por anticipado