You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Christopher Tubbs (Jira)" <ji...@apache.org> on 2021/01/04 16:37:00 UTC
[jira] [Commented] (THRIFT-5274) Thrift 0.13.0 does not work with
JDK8
[ https://issues.apache.org/jira/browse/THRIFT-5274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17258310#comment-17258310 ]
Christopher Tubbs commented on THRIFT-5274:
-------------------------------------------
The correct solution here is to add {{-release 8}} to the {{javac}} command line when building with JDK9 and later. If it's a Maven project, the best way to do this is to use a recent version of {{maven-compiler-plugin}}, and set {{<maven.compiler.release>8</maven.compiler.release>}} in the {{<properties>}} section of the {{pom.xml}} or on the command-line with {{-Dmaven.compiler.release=8}}. Here's one way to do it with a Maven profile that is automatically activated when using a newer JDK:
{code}
<profile>
<id>jdk-release-flag</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<maven.compiler.release>8</maven.compiler.release>
</properties>
</profile>
{code}
> Thrift 0.13.0 does not work with JDK8
> -------------------------------------
>
> Key: THRIFT-5274
> URL: https://issues.apache.org/jira/browse/THRIFT-5274
> Project: Thrift
> Issue Type: Task
> Reporter: Colm O hEigeartaigh
> Priority: Major
> Fix For: 0.14.0
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> Thrift 0.13.0 does not work with JDK8, as it is compiled with JDK11. Even though the source version is JDK8, incorrect byte code is generated for various ByteBuffer methods, e.g.:
> Exception in thread "TAsyncClientManager#SelectorThread 22" java.lang.NoSuchMethodError: java.nio.ByteBuffer.rewind()Ljava/nio/ByteBuffer;
> The fix is suggested in this blog post: [https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/]
> We can add the release flag for 1.8 (--release=8).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)