[ 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)