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]


Reply via email to