XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.10.0
    • Component/s: None
    • Labels:
      None

      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 (needs live testing)
      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) (needs live testing)
      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)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jtstorck Jeff Storck
                Reporter:
                jtstorck Jeff Storck
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 7h 50m
                  7h 50m