We have tried migrating tomcat from 8.5.11 --> 8.5.14 for latest security fixes and found our jasaperreports functionality is broken. Reports compilation is failing with unresolved type errors even though all related jars are in classpath 1. java.util.ResourceBundle cannot be resolved to a type value = ((java.util.ResourceBundle)parameter_REPORT_RESOURCE_BUNDLE.getValue()); //$JR_EXPR_ID=34$ <----------------------> 2. net.sf.jasperreports.engine.JRDataSource cannot be resolved to a type value = ((net.sf.jasperreports.engine.JRDataSource)parameter_DS_controllers_by_model609.getValue()); //$JR_EXPR_ID=37$ <--------------------------------------> 3. net.sf.jasperreports.engine.JasperReport cannot be resolved to a type value = ((net.sf.jasperreports.engine.JasperReport)parameter_SR_controllers_by_model609.getValue()); //$JR_EXPR_ID=38$ <--------------------------------------> 4. java.util.ResourceBundle cannot be resolved to a type value = ((java.util.ResourceBundle)parameter_REPORT_RESOURCE_BUNDLE.getValue()); //$JR_EXPR_ID=40$ <----------------------> Debugged further and found this is because of 4.6.1 JDT compiler change from 8.5.12. This is a regression issue from JDT 4.6.1 https://bugs.eclipse.org/bugs/show_bug.cgi?id=495598 I have tried 4.5.1 (from old tomcat 8.5.11) and 4.6.2 (from http://central.maven.org/maven2/org/eclipse/scout/sdk/deps/ecj/4.6.2/ecj-4.6.2.jar) it works fine. As per Mark from mailing list confirmation, raising this issue for upgrading JDT to 4.6.2 or later to include JDT regression fixes in current 4.6.1
As per JDT Dev team JDT 4.6.3 (Neon) - is the most recent release with additional fixes. https://dev.eclipse.org/mhonarc/lists/jdt-core-dev/msg03051.html
We have hit a small snag with our current process: https://issues.sonatype.org/browse/OSSRH-30961 As well as following that up, I will look to see if an alternative artefact - such as the scout one mentioned above - is suitable.
Tomcat 8.5.14 / lib / ecj-4.6.1.jar / META-INF/MANIFEST.MF says: Bundle-Version: 3.12.1.v20160829-0950 As such, the internal version of component used in Eclipse 4.6.3 is likely to be 3.12.3. Searching for "ecj" in Central repository, there is org.eclipse.jdt : ecj : 3.12.3 published 30-Mar-2017 http://search.maven.org/#artifactdetails%7Corg.eclipse.jdt%7Cecj%7C3.12.3%7Cjar This is the JAR that we need here. Sha-512: 372da97d5f37095a3616c730170dc541b93acb8f50370cd9b0d81fba4583e865f0c933dc012155f26638306b82a402eaab209123cd0a979fa7c86313c0fca477 - the same as of ecj-4.6.3.jar from eclipse.org Official download page: http://download.eclipse.org/eclipse/downloads/drops4/R-4.6.3-201703010400/#JDTCORE
Hi, Thanks for the report. The fix was committed in: - trunk for 9.0.0.M21 onwards - 8.5.x for 8.5.15 onwards - 8.0.x for 8.0.44 onwards Regards, Violeta