[
https://issues.apache.org/jira/browse/FLINK-27547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ran Tao updated FLINK-27547:
----------------------------
Description:
Current flink parent pom property
<target.java.version>1.8</target.java.version> by default. And many modules
inherit this property. But java11-target & java17-target profile not update
this property synchronously when enable it.
Because the hardcode of profile java11-target (java17 with same problem). In a
word, current flink build pom has various ways to control java version (it's a
bad way). And I think we should use property target.java.version the one way
to control the java version like `release` profile.
{code:java}
<profile>
<id>java11-target</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
...
</configuration>
</plugin>
</plugins>
</build>
</profile>
{code}
It will cause build error when we set target.java.version for 11. Because
current scala-maven-plugin with scala-2.11 or 2.12 only support <=1.8 jvm
version.
[ERROR] scalac error: 'jvm-11' is not a valid choice for '-target'
[INFO] scalac -help gives more information
[ERROR] scalac error: bad option: '-target:jvm-11'
[INFO] scalac -help gives more information
was:
Current flink parent pom property
<target.java.version>1.8</target.java.version> by default. And many modules
inherit this property. But java11-target & java17-target profile not update
this property synchronously when enable it.
Because the hardcode of profile java11-target (java17 with same problem). In a
word, current flink build pom has various ways to control java version. And I
think we should use property target.java.version the one way to control the
java version like `release` profile.
{code:java}
<profile>
<id>java11-target</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
...
</configuration>
</plugin>
</plugins>
</build>
</profile>
{code}
It will cause build error when we set target.java.version for 11. Because
current scala-maven-plugin with scala-2.11 or 2.12 only support <=1.8 jvm
version.
[ERROR] scalac error: 'jvm-11' is not a valid choice for '-target'
[INFO] scalac -help gives more information
[ERROR] scalac error: bad option: '-target:jvm-11'
[INFO] scalac -help gives more information
> Hardcode of pom aboout java11 & java17 target java version may cause hidden
> error
> ---------------------------------------------------------------------------------
>
> Key: FLINK-27547
> URL: https://issues.apache.org/jira/browse/FLINK-27547
> Project: Flink
> Issue Type: Bug
> Components: API / Scala
> Affects Versions: 1.15.0, 1.14.4
> Reporter: Ran Tao
> Priority: Major
>
> Current flink parent pom property
> <target.java.version>1.8</target.java.version> by default. And many modules
> inherit this property. But java11-target & java17-target profile not update
> this property synchronously when enable it.
> Because the hardcode of profile java11-target (java17 with same problem). In
> a word, current flink build pom has various ways to control java version
> (it's a bad way). And I think we should use property target.java.version the
> one way to control the java version like `release` profile.
> {code:java}
> <profile>
> <id>java11-target</id>
> <build>
> <plugins>
> <plugin>
>
> <groupId>org.apache.maven.plugins</groupId>
>
> <artifactId>maven-compiler-plugin</artifactId>
> <configuration>
> <source>11</source>
> <target>11</target>
> ...
> </configuration>
> </plugin>
> </plugins>
> </build>
> </profile>
> {code}
> It will cause build error when we set target.java.version for 11. Because
> current scala-maven-plugin with scala-2.11 or 2.12 only support <=1.8 jvm
> version.
> [ERROR] scalac error: 'jvm-11' is not a valid choice for '-target'
> [INFO] scalac -help gives more information
> [ERROR] scalac error: bad option: '-target:jvm-11'
> [INFO] scalac -help gives more information
--
This message was sent by Atlassian Jira
(v8.20.7#820007)