You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Jeff Storck (JIRA)" <ji...@apache.org> on 2019/07/12 22:24:00 UTC

[jira] [Updated] (NIFI-5176) NiFi needs to be buildable on Java 11

     [ 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.1, groovy-eclipse-compiler:3.4.0-01, and groovy-eclipse-batch:2.5.4-01 (See NIFI-5254 for reference)|
|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 (See NIFI-5254 for reference)|
|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 (See NIFI-6360 for reference)|
|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.8.0, groovy-eclipse-compiler:3.4.0-01, and groovy-eclipse-batch:2.5.4-01 (See NIFI-5254 for reference)|
|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 (See NIFI-5254 for reference)|
|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 (See NIFI-6360 for reference)|
|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: 3h 10m
>  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.1, groovy-eclipse-compiler:3.4.0-01, and groovy-eclipse-batch:2.5.4-01 (See NIFI-5254 for reference)|
> |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 (See NIFI-5254 for reference)|
> |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 (See NIFI-6360 for reference)|
> |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.14#76016)