[
https://issues.apache.org/jira/browse/TAP5-2588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16699756#comment-16699756
]
Andrew Fowler commented on TAP5-2588:
-------------------------------------
I imagine there won't be a version of Tapestry source that simultaneously works
for Java 8 and Java 10+. The number of changes between those two are large.
Even after explicitly removing dependencies on Java EE modules, there will be
incompatibilities. One example is JEP 221 – the Doclet & Taglet APIs (from
tools.jar) used by {{tapestry-javadoc}} are dead, replaced with a new Doclet
API, and only JDK 10 contains both. One option there might be to retire
tapestry-javadoc or to port it (nontrivial) and maintain two different
projects/downloads – one for JDK 8-9 and one for 9+.
> Does not work with Java 9
> -------------------------
>
> Key: TAP5-2588
> URL: https://issues.apache.org/jira/browse/TAP5-2588
> Project: Tapestry 5
> Issue Type: Bug
> Components: plastic
> Affects Versions: 5.4.3
> Reporter: Jochen Kemnade
> Assignee: Bob Harner
> Priority: Critical
> Attachments:
> 0001-TAP5-2588-Upgrade-ASM-6.x-7.0.1-for-Java-11-support.patch
>
>
> You cannot use Tapestry with Java 9 because of an outdated ASM version in
> plastic (5.0.4). AFAICT, we'll need to upgrade to 6.0. My attempt do do so
> results in a {{ClassCastException}} in
> {{org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit values for
> array attributes}}.
> {noformat}
> java.lang.ClassCastException: [I cannot be cast to
> java.base/[Ljava.lang.Object;
> at
> org.apache.tapestry5.internal.plastic.AbstractAnnotationBuilder$2.visitEnd(AbstractAnnotationBuilder.java:134)
> at
> org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:284)
> at
> org.apache.tapestry5.internal.plastic.asm.tree.AnnotationNode.accept(AnnotationNode.java:251)
> at
> org.apache.tapestry5.internal.plastic.PlasticClassPool.createAnnotation(PlasticClassPool.java:307)
> at
> org.apache.tapestry5.internal.plastic.PlasticClassPool$4.buildAnnotation(PlasticClassPool.java:286)
> at
> org.apache.tapestry5.internal.plastic.PlasticClassPool$4.getAnnotation(PlasticClassPool.java:270)
> at
> org.apache.tapestry5.internal.plastic.DelegatingAnnotationAccess.getAnnotation(DelegatingAnnotationAccess.java:42)
> at
> org.apache.tapestry5.internal.plastic.PlasticClassImpl.getAnnotation(PlasticClassImpl.java:342)
> at org.apache.tapestry5.plastic.ArrayAttributeAnnotations.explicit
> values for array attributes(ArrayAttributeAnnotations.groovy:27)
> {noformat}
> The {{AbstractAnnotationBuilder}} subclass tries to cast an {{int[]}} to an
> {{Object[]}}.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)