In Servoy Wiki we read “Please make sure you are using the Jasper plugin version that matches the Servoy version”.
Which version of the Jasper Plugin should we use for Servoy 2023.12.1? We only find 2022 versions of the plugin.
And for 2022 version the jasper reports library 6.20.0 is needed. But there is no Jaspersoft Studio Version 6.20 available online.
I’m successfully using the 6.20.0 Version of the plugin with 2023.12.2, so this should work.
Regarding the Version of Jasper Studio, it seems that Jaspersoft only shows their current version for download, so you could use that. You can set the compatibility to 6.20 in the Preferences under JasperSoft Studio.
Thank you for the answer and information to your configuration.
With 6.20.0 Version of the plugin in Servoy 2023.12.1 we can successfully run reports, created with Jaspersoft Studio 6.12.2 and compiled with the library 6.19.
But we read, that we should use library 6.20. And there is only Jaspersoft Studio 6.21.1 available for download. And in there, no older lib for compatibility to select than 6.21.
What version of Jaspersoft Studio do you use? Would you say, we can stay with 6.12.2 and lib 6.19?
Ah, you are using the compiled files? We just ship the jrxml-files and use those. In that case you can just chose a lower compatibility than 6.20.0 and it should work.
I have no experience when shipping compiled reports, perhaps someone else has more infos about that.
I also just ship the jrxml files with my solution, which works just fine.
In case you really want to go with compiled files, you can compile them using the compile function in the Jasper plugin.
When using the sources, the versions of the Jaspersoft Studio doesn’t really matter much, we had some really old reports, that still did work.
The main advantage is for us that some self-hosting customers can create and modify their own reports if they can access the report-folder, since we scan the file system for report-files.
If you ship source reports, the files are always interpreted, if you have compiled files in the same directory the compiled files are used.
I didn’t see any slowdowns when using the source files.
Name of report (“rptName.jrxml” OR “rptName.jasper”)
If a jrxml file is supplied, it will run the .jasper file first; if the .jasper file does not exist, it will try to compile the report into memory.
So I was expecting the .jasper file to be used, even though we’re pointing to a .jrxml file. Or perhaps I’m misunderstanding the instructions. I will try pointing to the .jasper file name, however that will have to wait until our next release. So thought I would ask here first.
according to the error message you are describing, the template name you are passing into the function is myReport.jrxml
in that case the plugin will be looking for the jrxml file, which - if I understood correctly - is the file you deleted and replaced by myReport.jasper
This makes the error message valid, because the file simply doesn’t exist.
Whether to use .jasper or .jrxml files is up to you.
I prefer .jrxml, because the plugin will then compile the report on the fly, using the jasper engine version of the plugin you have installed.
If you are using .jasper files and the compiled version is incompatible with jasper engine version, it will fail creating the report and you need to re-compile the file yourself
Compiling on the fly is an additional step, thus slower.
Nevertheless I enjoy the benefits.
You can also think of a hybrid solution where only deploy the jrxml files, but you re-compile the jrxml files using the plugin in the post-import hook.
That way the compiled version is always equal to the jasper engine version of the plugin.