[ 
https://issues.apache.org/jira/browse/HBASE-25465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536275#comment-17536275
 ] 

Viraj Jasani commented on HBASE-25465:
--------------------------------------

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)

Reply via email to