Using Java Runtimes 12 and 8 in Tomcat server (Knowage)

67 Views Asked by At

I'm installing Knowage in Windows. But when trying to make it work with OpenJDK 12, I've found several NoClassDefFoundError regarding classes in javax.xml (this one can be solved downloading small jar files) and sun.misc.BASE64Encoder (there are no jars for this one). Probably more, but those appear just trying to login. It seems to work fine with Java SE 8.

I have several solutions:

  1. Leave Knowage with it's own Tomcat running Java SE 8, have a second Tomcat running Java 12 for any other app. But I'd like to avoid having two Tomcats, even if I'll have an Apache front-end proxying them anyway. Seems wasteful.

  2. Fork Knowage, modify, compile, deploy, keep updated, redeploy, repeat. But I'd like to avoid the extra work.

  3. Report an issue (done), wait for others to solve it. But I'd like to avoid the uncertainty of not knowing when it will be solved, if ever.

  4. Take the rt.jar from Java SE 8, that has versions of those missing classes, place it in the tomcat/lib folder. I lean to this one, hence the title, at least until Knowage gets modified. But I don't know if this is safe. It seems to work: I can login! But, will it break the Universe or give headaches in the future?

Could you recommend me one solution or another?

0

There are 0 best solutions below