I was provided with a barbecue-1.5-beta1.jar for inserting barcodes in Jasper Reports. However when I attempt to start the Smart Client from our app server, I get a message stating that not all jars in the JNLP file are signed by the same certificate. So I modified signtester.jar to only self sign the jasper reports jars with our key using the overwrite option. This seems to work fine, but the problem still persists. I still get the same error. Maybe I am just missing something?
Or better yet, does anyone have a complete set of servoy-jasperreport plugin v3.2 jars including barbecue that are all signed by the same certificate?
Here is the log from the signtester…
Verifiying dir: .\plugins\servoy_jasperreports
Unsigning: barbecue-1.5-beta1.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\barbecue-1.5-beta1.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\barbecue-1.5-beta1.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\barbecue-1.5-beta1.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\barbecue-1.5-beta1.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\barbecue-1.5-beta1.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\barbecue-1.5-beta1.jar signed
Jar file size: 94Ko
Time to process: 655ms
Unsigning: commons-beanutils-1.8.0.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-beanutils-1.8.0.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-beanutils-1.8.0.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-beanutils-1.8.0.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-beanutils-1.8.0.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-beanutils-1.8.0.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-beanutils-1.8.0.jar signed
Jar file size: 235Ko
Time to process: 964ms
Unsigning: commons-digester-1.7.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-digester-1.7.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-digester-1.7.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-digester-1.7.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-digester-1.7.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-digester-1.7.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\commons-digester-1.7.jar signed
Jar file size: 143Ko
Time to process: 595ms
Unsigning: iText-2.1.7.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\iText-2.1.7.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\iText-2.1.7.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\iText-2.1.7.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\iText-2.1.7.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\iText-2.1.7.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\iText-2.1.7.jar signed
Jar file size: 1124Ko
Time to process: 4684ms
Unsigning: jasperreports-4.0.0.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jasperreports-4.0.0.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jasperreports-4.0.0.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jasperreports-4.0.0.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jasperreports-4.0.0.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jasperreports-4.0.0.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jasperreports-4.0.0.jar signed
Jar file size: 3083Ko
Time to process: 12393ms
Unsigning: jdt-compiler-3.1.1.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jdt-compiler-3.1.1.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jdt-compiler-3.1.1.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jdt-compiler-3.1.1.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jdt-compiler-3.1.1.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jdt-compiler-3.1.1.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\jdt-compiler-3.1.1.jar signed
Jar file size: 1182Ko
Time to process: 4773ms
Unsigning: poi-3.6.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\poi-3.6.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\poi-3.6.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\poi-3.6.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\poi-3.6.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\poi-3.6.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports\poi-3.6.jar signed
Jar file size: 1571Ko
Time to process: 6170ms
Unsigning: servoy_jasperreports.jar
C:\Servoy6\application_server\.\plugins\servoy_jasperreports.jar unsigned
C:\Servoy6\application_server\.\plugins\servoy_jasperreports.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports.jar first sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports.jar repacked
C:\Servoy6\application_server\.\plugins\servoy_jasperreports.jar second sign attempt
C:\Servoy6\application_server\.\plugins\servoy_jasperreports.jar signed
Jar file size: 65Ko
Time to process: 286ms
that is also included and that is signed by us so that will not work, if you want to then you can self sign everything so everything of servoy including all plugins so that really everything is signed by one certificate.
What you also can do is not sign the jasper plugin but only self sign the extra jar
and include that jar not through
but through an jnlp file itself that you also have created.
so something like:
and create that barbecue.jar.jnlp file in that dir that just has this:
Hi!
I can not print the barcode with jasper when running on a Linux server.
Follow the instructions of Johan_Compagner, but does not work.
Attached my files in case someone can help me.
I create the file /usr/local/servoy/application_server/plugins/servoy_jasperreports/barbecue.jar.jnlp
<?xml version="1.0" encoding="UTF-8"?>
Servoy Client Plugins
Servoy and Others
and in the file /usr/local/servoy/application_server/plugins/servoy_jasperreports.jar.jnlp add the line:
Signtester then use to sign, but in the linux server the report still does not work with barbecue and a screen with the message.
Error occurred in server thread; nested exception is:
java.lang,NoClassDefFoundError:net/sourcefo…
so you did restart the server, all files are in the right places?
i guess that: java.lang,NoClassDefFoundError:net/sourcefo
is from the BBQ jar?
But you are saying on the server? So not a smart client but a webclient or batchprocessor?
any thing on the server doesn’t use jnlp files (or signed jars at all)
That is just picking up everything in the plugins/ dir
Hi Johan Compagner !
I have reviewed the location of the files and correct.
In webclient it works but smart client I have the following error:
Java Web Start 1.6.0_24
Usar versión JRE 1.6.0_24-b07 Java HotSpot™ Client VM
Directorio local del usuario = C:\Users\roberto
c: borrar ventana de consola
f: finalizar objetos en la cola de finalización
g: liberación de recursos
h: presentar este mensaje de ayuda
m: imprimir sintaxis de memoria
o: activar registro
p: recargar configuración de proxy
q: ocultar consola
r: recargar configuración de norma
s: volcar propiedades del sistema y de despliegue
t: volcar lista de subprocesos
v: volcar pila de subprocesos
0-5: establecer nivel de rastreo en
ERROR - Debug - Throwable
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.io.InvalidClassException: javax.swing.JComponent; local class incompatible: stream classdesc serialVersionUID = 5858390075012080263, local class serialVersionUID = -1030230214076481435
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at com.servoy.plugins.jasperreports.JasperReportsServer_Stub.getJasperPrint(Unknown Source)
at com.servoy.plugins.jasperreports.JasperReportsProvider.runReport(JasperReportsProvider.java:465)
at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:372)
at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:365)
at com.servoy.plugins.jasperreports.JasperReportsProvider.js_runReport(JasperReportsProvider.java:359)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:179)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:367)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:81)
at org.mozilla.javascript.gen.c59._c0(onActionImprimir:111)
at org.mozilla.javascript.gen.c59.call(onActionImprimir)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3134)
at org.mozilla.javascript.gen.c59.call(onActionImprimir)
at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:528)
at com.servoy.j2db.FormController.executeFunction(FormController.java:4058)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3937)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3859)
at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:3714)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:271)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:217)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:212)
at com.servoy.j2db.smart.dataui.AbstractScriptButton$2.actionPerformed(AbstractScriptButton.java:670)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.InvalidClassException: javax.swing.JComponent; local class incompatible: stream classdesc serialVersionUID = 5858390075012080263, local class serialVersionUID = -1030230214076481435
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at java.util.ArrayList.readObject(Unknown Source)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at java.util.ArrayList.readObject(Unknown Source)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
at net.sf.jasperreports.engine.JasperPrint.readObject(JasperPrint.java:831)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at sun.rmi.server.UnicastRef.unmarshalValue(Unknown Source)
… 63 more
can you help me?
Thanks!
Roberto Diez.
Interdata Software.
Argentina.
somehow the client doesn’t update to the new jars. (so the server has the new jars but the client the old once so they can’t talk to each other)
Which is should do now because we do push the versions needed all the way to the top most jnlp file.
I guess if you clear the java cache on the client it works?
EDIT: wait now i see the real class version problem, and its JComponent, so somehow swing ui is transfered from server to client or visa versa.
That shouldn’t happen…
I guess this is something that should be looked at in the plugin itself.
What version of the plugin are you using? Are you using a foundset based report (or a classic SQL report)?
Please make a case on this at Issues - Servoy JasperReports Plugin - ServoyForge and attach a sample solution+report?