Hi folks,I have a webapp running Apache Tomcat 9.0.67 with Java 11, using
JASPIC for authentication. For reference, using these:
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId> <version>9.0.85</version>
<groupId>org.apache.tomcat</groupId>
<artifactId>catalina</artifactId> <version>6.0.53</version>
This works.I need to get this running with Java 17. I've updated my javax
classes to jakarta and my JASPIC dependencies to:
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jaspic-api</artifactId>
<version>11.0.0-M5</version>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId> <version>11.0.0-M5</version>
These are built with Java 17. My webapp compiles and builds. But at runtime, I
get errors like this:
java.lang.VerifyError: Bad type on operand stackException Details: Reason:
Type 'org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl' (current
frame, stack[4]) is not assignable to
'jakarta/security/auth/message/config/AuthConfigFactory'
Specifically, this does not cause any issues: AuthConfigFactory
factory = new AuthConfigFactoryImpl();
However, if I call any method on this factory, I see the above Error.I can't
seem to figure out the cause. I don't see any old javax AuthConfig classes in
the dependencies.Anyone familiar with this?
Ryan