Comment 2 for bug 1625043

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Hi Thomas, I might be totally misjudging that now so please help me if I do.
And the error of the missing method you report sounds reasonable without knowing the details.

But the page you linked shows the versions you referenced "... and later" as IIRC Java bytecod holds the target VM Version and the JVMs are backward compatible usually.
One has to set stuff like "-source 1.7 -target 1.7" to so so IIRC.
And the Manifest file holds:
...
X-Compile-Source-JDK: 1.6
X-Compile-Target-JDK: 1.6

I agree that the function is something that changed from java 7 to 8:
Notably the Java 1.7 ConcurrentHashMap#keySet() returns a Set<K> while the 1.8 ConcurrentHashMap#keySet() returns a ConcurrentHashMap.KeySetView<K,V>`.

The build of Tomcat depends on "default-jdk" which maps to openjdk-8-jdk in Xenial.
That is how the build gets version 8.
But that just matches the "6 or 7 and later".

So TL;DR for now it is an issue but it should not be one :-/
The Java version switch should be compatible but it is now.

For now a workaround for you might be to set up your tomcat7 to run with the jdk-8 that should get it working if you have no other version incompatibilities.

I'm not enough of a "tomcat man" but I think I found the related upstream bug.
For Zesty a new sync of Debian should fix it, as Emanuel reported it to be fixed in latest Debian.

For Xenial (&Yakkety) I don't know what would have to be done atm.