mike-jumper edited a comment on pull request #606: URL: https://github.com/apache/guacamole-client/pull/606#issuecomment-828291851
So, the "invalid byte" error is due to an incompatibility between the BCEL library (used by Tomcat for annotation scanning) and the Java version of the class being scanned. From https://stackoverflow.com/questions/52867430/invalid-byte-tag-in-constant-pool-19-error-message: > The BCEL library here is used to parse class files when Tomcat scans for annotations. The version that you are using does not support some features in class file format of Java 8, and thus fails when trying to parse the file. This isn't entirely correct in our case. Our error deals with `module-info.class`, which is apparently a Java 9 thing: https://openjdk.java.net/jeps/261 As far as I can tell, the jackson-databind library is built for Java 7, regardless of the fact it includes a `module-info.class`. It may be possible to strip `module-info.class` from the bundled .jar files, though I don't know whether this would hurt anything: https://stackoverflow.com/questions/56063566/maven-how-to-remove-module-info-class-warning-for-shaded-jar It's also possible to stop the error by [disabling annotation scanning](https://tomcat.apache.org/migration-7.html#Annotation_scanning), which involves: * Bumping the required version of the servlet API from 2.5 to 3.0 * Adding `metadata-complete="true"` to the `<web-app>` element of `web.xml` * Adding an empty `<absolute-ordering/>` element to `web.xml` ...though I don't know whether _that_ would hurt anything either. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
