Please or Register to create posts and topics.

Requirements... Tomcat and JDK

Will 8.2CE run under tomcat 10?
What is (if any) the JDK version that works with it? JDK 11, 17, higher?

Hi zkiwi,

Tomcat 10 uses jakarta. instead of javax.  namespaces (See https://blogs.oracle.com/javamagazine/post/transition-from-java-ee-to-jakarta-ee for the background) and is therefore not compatible with web apps developed for Java EE and Jakarta EE 8. Making JRS compatible with Tomcat 10 would require some very deep source code changes.

Cloud is planning to migrate Jasper Reports Server Pro to Jakarta in version 10. You can check out their recent webinar https://www.youtube.com/watch?v=x1FaqIM7Io0 for more information.

As for JDK versions - JRS needs to be compiled with Java compliance level 1.8. I've verified that this works with JDK versions 1.8 or 11, but not 17. You can run a JasperReports server on Java 17, although there is a bug where you can't import an exported repository if the repository had any report schedules in it. Apart from that, everything works, though. Java 17 is officially supported after all. Java 1.8 and 11 also work, of course, and without that export bug.

So...
I could install and run JRS 8.2CE with JDK 11 in play
BUT
Tomcat would have to be Tomcat 9

Is that right, or is my brain pining for the fjords etc?

No, no fjords. You've understood correctly.

The community is also working on migrating the CE version to Jakarta. It should be implemented sometime during the first half of next year.

Great news on the next year thing
Weirdly fits perfectly into my work's time frame

Hello zkiwi34,

I forgot to mention the other day: You can fix the import+schedule problem and thus get full support for Java 17 by configuring your application server a little. You have to add the following JVM options:

--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.lang.ref=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED
--add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.security=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.regex=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/javax.security.auth.login=ALL-UNNAMED
--add-opens=java.base/javax.security.auth=ALL-UNNAMED
--add-opens=java.base/jdk.internal.access.foreign=ALL-UNNAMED
--add-opens=java.base/sun.net.util=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
--add-opens=java.base/sun.util.calendar=ALL-UNNAMED

See section 4.1.1 of the JRS CE 8.2.0 install guide for details on how to set these in different app servers.

Sorry for forgetting to mention this until now.

So... how goes upping the JDK support?
Would JDK 25 be supported?
Sorry for being a nag.

Hi zkiwi

As today Jasperreports Server 10 (commercial edition) was released today, we have a very current documentation of what is supported in the newest version:

So, no official Java 25 support. Indeed even very poor above Java 17.

If  the existing forks of the former Community Edition support newer JDKs I don´t know yet.

I think you ar e using a commercial edition, correct?

Greetings, Thomas

Nope. Not using a commercial (paid) edition.

Using the last CE, 8.2

We cannot afford the price of the commercial, given the size/income of the business.

I guess the best we can do (for now) is build a VM with Tomcat 9 and the Jasper Server CE 8.2 and use it.