[ 
https://issues.apache.org/jira/browse/NIFI-5176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeff Storck updated NIFI-5176:
------------------------------
    Description: 
While retaining a source/target comptability of 1.8, NiFi needs to be buildable 
on Java 11.

The following issues have been encountered while attempting to run a Java 
1.8-built NiFi on Java 11:
||Issue||Solution||
|groovy-eclipse-compiler not working with Java 10|-Switched to gmaven-plus- 
Updated to maven-compiler-plugin:3.8.0, groovy-eclipse-compiler:3.4.0-01, and 
groovy-eclipse-batch:2.5.4-01|
|Antler3 issue with ambiguous method calls|Explicit cast to ValidationContext 
needed in TestHL7Query.java|
|jaxb2-maven-plugin not compatible with Java 9|Switched to maven-jaxb-plugin|
|-nifi-enrich-processors uses package com.sun.jndi.dns, which does not 
exist-|-Required addition of- -add-modules=jdk.naming.dns 
--add-exports=jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED, which prevents the 
usage of compiling with the --release option (to compile only against public 
APIs in the JDK) from being used. Not an optimal solution.-|
|groovy-eclipse-batch:2.4.13-01 could not find JDK base classes|Updated to 
groovy-eclipse-batch:2.5.4-01 and groovy-all:2.5.4|
|maven-surefire-plugin:2.20.1 throws null pointer exceptions|Updated to 
maven-surefire-plugin:2.22.0|
|okhttp client builder requires X509TrustManager on Java 9+|Added methods to 
return TrustManager instances with the SSLContext created by SSLContextFactory 
and updated HttpNotificationService to use the paired TrustManager|
|nifi-runtime groovy tests aren't running|Added usage of 
build-helper-maven-plugin to explicitly add src/test/groovy to force groovy 
compilation of test sources. groovy-eclipse-compiler skips src/test/groovy if 
src/test/java doesn't exist, which is the case for nifi-runtime. (See NIFI-5341 
for reference)|
|hbase-client depends on jdk.tools:jdk.tools|Excluded this dependency 
{color:#f79232}*(needs live testing)* {color}|
|HBase client 1.1.2 does not allow running on Java 9+|Updated to HBase client 
1.1.11, passes unit tests (See HBASE-17944 for reference) 
*{color:#f79232}(needs live testing){color}*|
|powermock:1.6.5 does not support Java 10|Updated to powermock:2.0.2 and 
mockito:2.28.2|
|com.yammer.metrics:metrics-core:2.2.0 does not support Java 10|Upgrading 
com.yammer.metrics:metrics-core:2.2.0 to 
io.dropwizard.metrics:metrics-jvm:4.0.0 (See NIFI-5373 for reference)|

  was:
While retaining a source/target comptability of 1.8, NiFi needs to be buildable 
on Java 11.

The following issues have been encountered while attempting to run a Java 
1.8-built NiFi on Java 11:
||Issue||Solution||
|groovy-eclipse-compiler not working with Java 10|-Switched to gmaven-plus- 
Updated to maven-compiler-plugin:3.7.0, groovy-eclipse-compiler:2.9.3-01, and 
groovy-eclipse-batch:2.4.15-01|
|Antler3 issue with ambiguous method calls|Explicit cast to ValidationContext 
needed in TestHL7Query.java|
|jaxb2-maven-plugin not compatible with Java 9|Switched to maven-jaxb-plugin|
|-nifi-enrich-processors uses package com.sun.jndi.dns, which does not 
exist-|-Required addition of- -add-modules=jdk.naming.dns 
--add-exports=jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED, which prevents the 
usage of compiling with the --release option (to compile only against public 
APIs in the JDK) from being used. Not an optimal solution.-|
|groovy-eclipse-batch:2.4.13-01 could not find JDK base classes|Updated to 
groovy-eclipse-batch:2.4.15-01 and grooy-all:2.4.15|
|maven-surefire-plugin:2.20.1 throws null pointer exceptions|Updated to 
maven-surefire-plugin:2.22.0|
|okhttp client builder requires X509TrustManager on Java 9+|Added methods to 
return TrustManager instances with the SSLContext created by SSLContextFactory 
and updated HttpNotificationService to use the paired TrustManager|
|nifi-runtime groovy tests aren't running|Added usage of 
build-helper-maven-plugin to explicitly add src/test/groovy to force groovy 
compilation of test sources. groovy-eclipse-compiler skips src/test/groovy if 
src/test/java doesn't exist, which is the case for nifi-runtime. (See NIFI-5341 
for reference)|
|hbase-client depends on jdk.tools:jdk.tools|Excluded this dependency 
{color:#f79232}*(needs live testing)* {color}|
|HBase client 1.1.2 does not allow running on Java 9+|Updated to HBase client 
1.1.11, passes unit tests (See HBASE-17944 for reference) 
*{color:#f79232}(needs live testing){color}*|
|powermock:1.6.5 does not support Java 10|Updated to powermock:2.0.0-beta.5 and 
mockito:2.19|
|com.yammer.metrics:metrics-core:2.2.0 does not support Java 10|Upgrading 
com.yammer.metrics:metrics-core:2.2.0 to 
io.dropwizard.metrics:metrics-jvm:4.0.0 (See NIFI-5373 for reference)|


> NiFi needs to be buildable on Java 11
> -------------------------------------
>
>                 Key: NIFI-5176
>                 URL: https://issues.apache.org/jira/browse/NIFI-5176
>             Project: Apache NiFi
>          Issue Type: Sub-task
>            Reporter: Jeff Storck
>            Assignee: Jeff Storck
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> While retaining a source/target comptability of 1.8, NiFi needs to be 
> buildable on Java 11.
> The following issues have been encountered while attempting to run a Java 
> 1.8-built NiFi on Java 11:
> ||Issue||Solution||
> |groovy-eclipse-compiler not working with Java 10|-Switched to gmaven-plus- 
> Updated to maven-compiler-plugin:3.8.0, groovy-eclipse-compiler:3.4.0-01, and 
> groovy-eclipse-batch:2.5.4-01|
> |Antler3 issue with ambiguous method calls|Explicit cast to ValidationContext 
> needed in TestHL7Query.java|
> |jaxb2-maven-plugin not compatible with Java 9|Switched to maven-jaxb-plugin|
> |-nifi-enrich-processors uses package com.sun.jndi.dns, which does not 
> exist-|-Required addition of- -add-modules=jdk.naming.dns 
> --add-exports=jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED, which prevents the 
> usage of compiling with the --release option (to compile only against public 
> APIs in the JDK) from being used. Not an optimal solution.-|
> |groovy-eclipse-batch:2.4.13-01 could not find JDK base classes|Updated to 
> groovy-eclipse-batch:2.5.4-01 and groovy-all:2.5.4|
> |maven-surefire-plugin:2.20.1 throws null pointer exceptions|Updated to 
> maven-surefire-plugin:2.22.0|
> |okhttp client builder requires X509TrustManager on Java 9+|Added methods to 
> return TrustManager instances with the SSLContext created by 
> SSLContextFactory and updated HttpNotificationService to use the paired 
> TrustManager|
> |nifi-runtime groovy tests aren't running|Added usage of 
> build-helper-maven-plugin to explicitly add src/test/groovy to force groovy 
> compilation of test sources. groovy-eclipse-compiler skips src/test/groovy if 
> src/test/java doesn't exist, which is the case for nifi-runtime. (See 
> NIFI-5341 for reference)|
> |hbase-client depends on jdk.tools:jdk.tools|Excluded this dependency 
> {color:#f79232}*(needs live testing)* {color}|
> |HBase client 1.1.2 does not allow running on Java 9+|Updated to HBase client 
> 1.1.11, passes unit tests (See HBASE-17944 for reference) 
> *{color:#f79232}(needs live testing){color}*|
> |powermock:1.6.5 does not support Java 10|Updated to powermock:2.0.2 and 
> mockito:2.28.2|
> |com.yammer.metrics:metrics-core:2.2.0 does not support Java 10|Upgrading 
> com.yammer.metrics:metrics-core:2.2.0 to 
> io.dropwizard.metrics:metrics-jvm:4.0.0 (See NIFI-5373 for reference)|



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to