[ https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536275#comment-17536275 ]
Viraj Jasani edited comment on HBASE-25465 at 5/12/22 6:12 PM: --------------------------------------------------------------- In order to backport hbase-thirdparty version 4.1.0 to 2.4 release line, we need to backport HBASE-26523 followed by HBASE-25465 to branch-2.4. Sounds good [~zhangduo] [~apurtell] ? I will come up with PRs, maybe I can create separate Jira to backport both of above to branch-2.4 together. was (Author: vjasani): In order to backport this to 2.4 release line, we need to backport HBASE-26523 followed by HBASE-25465 to branch-2.4. Sounds good [~zhangduo] [~apurtell] ? I will come up with PRs, maybe I can create separate Jira to backport both of above to branch-2.4 together? > Use javac --release option for supporting cross version compilation > ------------------------------------------------------------------- > > Key: HBASE-25465 > URL: https://issues.apache.org/jira/browse/HBASE-25465 > Project: HBase > Issue Type: Improvement > Components: create-release > Affects Versions: 3.0.0-alpha-3 > Reporter: Andrew Kyle Purtell > Assignee: Duo Zhang > Priority: Minor > Fix For: 2.5.0, 3.0.0-alpha-3 > > > See https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ > {quote} > the Java compiler’s --release parameter, which was introduced via JEP 247 > ("Compile for Older Platform Versions"), added to the platform also in JDK 9. > In contrast to the more widely known pair of --source and --target, the > --release switch will ensure that only byte code is produced which actually > will be usable with the specified Java version. For this purpose, the JDK > contains the signature data for all supported Java versions (stored in the > $JAVA_HOME/lib/ct.sym file). > {quote} > Using one JDK (i.e. Java 11) to build Java 8-and-up and Java 11-and-up > compatible release artifacts would reduce some sources of accidental > complexity, assuming the --release parameter actually works as advertised. To > produce Java 8-and-up compatible artifacts, supply --release=8. To produce > Java 11-and-up compatible release artifacts, supply --release=11. Maven > activations based on JDK version and command line defined profiles can > control what --release parameter, if any, should be passed to the compiler. -- This message was sent by Atlassian Jira (v8.20.7#820007)