This is an automated email from the ASF dual-hosted git repository.

timoninmaxim pushed a commit to branch IGNITE-22996__epic_jdk_11
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/IGNITE-22996__epic_jdk_11 by 
this push:
     new a5d23cb21bf IGNITE-22669 Change maven.compiler.source to 11 (#11432)
a5d23cb21bf is described below

commit a5d23cb21bfd946a7afd930d05d5e498068b2da0
Author: Maksim Timonin <[email protected]>
AuthorDate: Tue Sep 3 17:54:59 2024 +0300

    IGNITE-22669 Change maven.compiler.source to 11 (#11432)
---
 .github/workflows/commit-check.yml                 |   3 +-
 .github/workflows/publish-snapshot.yml             |   2 +-
 examples/README.md                                 |   4 +-
 examples/pom-standalone-lgpl.xml                   |   4 +-
 examples/pom-standalone.xml                        |   4 +-
 modules/checkstyle/pom.xml                         |   4 +-
 .../jdbc/thin/JdbcThinConnectionSSLTest.java       |   8 +-
 .../PersistenceBasicCompatibilityTest.java         |   2 +-
 .../internal/plugin/IgniteLogInfoProviderImpl.java |   2 +-
 .../platform/memory/PlatformMemoryPool.java        |   5 +-
 .../suggestions/JvmConfigurationSuggestions.java   |   9 --
 .../ignite/internal/util/FeatureChecker.java       |   8 +-
 .../apache/ignite/internal/util/GridCleaner.java   |  99 -------------
 .../apache/ignite/internal/util/GridUnsafe.java    |   8 +-
 .../ignite/internal/util/GridCleanerTest.java      |  44 ------
 .../ignite/testsuites/IgniteBasicTestSuite2.java   |   3 -
 modules/numa-allocator/README.md                   |   4 +-
 modules/platforms/dotnet/examples/README.md        |   2 +-
 modules/tools/pom.xml                              |  15 +-
 .../tools/ant/beautifier/GridJavadocAntTask.java   |  40 +++--
 .../ignite/tools/javadoc/IgniteLinkTaglet.java     | 164 ---------------------
 parent/pom.xml                                     |  14 +-
 22 files changed, 51 insertions(+), 397 deletions(-)

diff --git a/.github/workflows/commit-check.yml 
b/.github/workflows/commit-check.yml
index 36d6425e580..b736458a4f5 100644
--- a/.github/workflows/commit-check.yml
+++ b/.github/workflows/commit-check.yml
@@ -31,7 +31,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        java: [ '8', '11' ]
+        java: [ '11' ]
     name: Check java code on JDK ${{ matrix.java }}
     steps:
       - uses: actions/checkout@v4
@@ -63,7 +63,6 @@ jobs:
           ./mvnw test-compile 
-Pall-java,licenses,lgpl,checkstyle,examples,all-scala,scala,check-licenses -B 
-V
 
       - name: Run abandoned tests checks.
-        if: ${{ matrix.java == '8' }}
         run : |
           ./mvnw test -Pcheck-test-suites,all-java,all-scala,scala -B -V
 
diff --git a/.github/workflows/publish-snapshot.yml 
b/.github/workflows/publish-snapshot.yml
index 9a9a5f1e3cb..04f22a182e3 100644
--- a/.github/workflows/publish-snapshot.yml
+++ b/.github/workflows/publish-snapshot.yml
@@ -35,7 +35,7 @@ jobs:
       - name: Set up Java
         uses: actions/setup-java@v2
         with:
-          java-version: 8
+          java-version: 11
           distribution: 'adopt'
           server-id: apache.snapshots.https
           server-username: NEXUS_USER
diff --git a/examples/README.md b/examples/README.md
index 2aef28e60d3..fb560302c87 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -6,8 +6,8 @@ Instructions on how to start examples can be found in 
[README.txt](README.txt).
 
 How to start examples in the developer's environment, please see 
[DEVNOTES.txt](DEVNOTES.txt).
 
-## Running examples on JDK 9/10/11
-Ignite uses proprietary SDK APIs that are not available by default. See also 
[How to run Ignite on JDK 9,10 and 
11](https://ignite.apache.org/docs/latest/setup#running-ignite-with-java-11-or-later)
+## Running examples
+Ignite uses proprietary SDK APIs that are not available by default. See also 
[How to run 
Ignite](https://ignite.apache.org/docs/latest/setup#running-ignite-with-java-11-or-later)
 
 To set up local IDE to easier access to examples, it is possible to add 
following options as default for all applications
 
diff --git a/examples/pom-standalone-lgpl.xml b/examples/pom-standalone-lgpl.xml
index 6cc95816706..5027387e58a 100644
--- a/examples/pom-standalone-lgpl.xml
+++ b/examples/pom-standalone-lgpl.xml
@@ -27,8 +27,8 @@
     <modelVersion>4.0.0</modelVersion>
 
     <properties>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
diff --git a/examples/pom-standalone.xml b/examples/pom-standalone.xml
index 6cc95816706..5027387e58a 100644
--- a/examples/pom-standalone.xml
+++ b/examples/pom-standalone.xml
@@ -27,8 +27,8 @@
     <modelVersion>4.0.0</modelVersion>
 
     <properties>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
diff --git a/modules/checkstyle/pom.xml b/modules/checkstyle/pom.xml
index dc2f13d9c2a..179ce8ccf7a 100644
--- a/modules/checkstyle/pom.xml
+++ b/modules/checkstyle/pom.xml
@@ -37,8 +37,8 @@
     <version>${revision}</version>
 
     <properties>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
         <maven.flatten.file.name>pom-installed.xml</maven.flatten.file.name>
         <revision>2.17.0-SNAPSHOT</revision>
         <checkstyle.puppycrawl.version>8.45</checkstyle.puppycrawl.version>
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSSLTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSSLTest.java
index ad422a3b93f..761d4744b8f 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSSLTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionSSLTest.java
@@ -332,9 +332,7 @@ public class JdbcThinConnectionSSLTest extends 
JdbcThinAbstractSelfTest {
      * @throws Exception If failed.
      *
      * Note: Disabled cipher suite can be enabled via Java Security property 
"jdk.tls.disabledAlgorithms" or in
-     * &lt;JRE_8_HOME&gt;/lib/security/java.security file.
-     *
-     * Note: java.security file location may be changed for Java 9+ version
+     * &lt;JAVA_HOME&gt;/conf/security/java.security file.
      */
     @Test
     public void testDisabledCustomCipher() throws Exception {
@@ -373,9 +371,7 @@ public class JdbcThinConnectionSSLTest extends 
JdbcThinAbstractSelfTest {
      * @throws Exception If failed.
      *
      * Note: Disabled cipher suite can be enabled via Java Security property 
"jdk.tls.disabledAlgorithms" or in
-     * &lt;JRE_8_HOME&gt;/lib/security/java.security file.
-     *
-     * Note: java.security file location may be changed for Java 9+ version
+     * &lt;JAVA_HOME&gt;/conf/security/java.security file.
      */
     @Test
     public void testUnsupportedCustomCipher() throws Exception {
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
index dc06de7d0a7..0140a129683 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
@@ -108,7 +108,7 @@ public class PersistenceBasicCompatibilityTest extends 
IgnitePersistenceCompatib
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                 
VER_2_12_0.compareTo(IgniteReleasedVersion.fromString(version)) < 0);
         }
-        else if (majorJavaVer > 8) {
+        else if (majorJavaVer == 11) {
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                 VER_2_3_0.compareTo(IgniteReleasedVersion.fromString(version)) 
< 0);
         }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/plugin/IgniteLogInfoProviderImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/plugin/IgniteLogInfoProviderImpl.java
index fa840717ad7..c394b9af100 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/plugin/IgniteLogInfoProviderImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/plugin/IgniteLogInfoProviderImpl.java
@@ -275,7 +275,7 @@ public class IgniteLogInfoProviderImpl implements 
IgniteLogInfoProvider {
             sb.a("auth: 
").a(onOff(Boolean.getBoolean("com.sun.management.jmxremote.authenticate"))).a(",
 ");
 
             // By default, SSL is enabled, that's why additional check for 
null is needed.
-            // See 
http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html
+            // See 
https://docs.oracle.com/en/java/javase/11/management/monitoring-and-management-using-jmx-technology.html
             sb.a("ssl: 
").a(onOff(Boolean.getBoolean("com.sun.management.jmxremote.ssl") ||
                 System.getProperty("com.sun.management.jmxremote.ssl") == 
null));
         }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/memory/PlatformMemoryPool.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/memory/PlatformMemoryPool.java
index 5ba1a9811c2..ec3653a944d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/memory/PlatformMemoryPool.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/memory/PlatformMemoryPool.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.internal.processors.platform.memory;
 
-import org.apache.ignite.internal.util.GridCleaner;
+import java.lang.ref.Cleaner;
 
 import static 
org.apache.ignite.internal.processors.platform.memory.PlatformMemoryUtils.POOL_HDR_OFF_MEM_1;
 import static 
org.apache.ignite.internal.processors.platform.memory.PlatformMemoryUtils.POOL_HDR_OFF_MEM_2;
@@ -50,7 +50,8 @@ public class PlatformMemoryPool {
     public PlatformMemoryPool() {
         poolPtr = allocatePool();
 
-        GridCleaner.create(this, new CleanerRunnable(poolPtr));
+        Cleaner cleaner = Cleaner.create();
+        cleaner.register(this, new CleanerRunnable(poolPtr));
     }
 
     /**
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/JvmConfigurationSuggestions.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/JvmConfigurationSuggestions.java
index fdbe35875fa..6776ba83d90 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/suggestions/JvmConfigurationSuggestions.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/suggestions/JvmConfigurationSuggestions.java
@@ -42,9 +42,6 @@ public class JvmConfigurationSuggestions {
     /** */
     private static final String SERVER = "-server";
 
-    /** */
-    private static final String USE_G1_GC = "-XX:+UseG1GC";
-
     /**
      * Checks JVM configurations and produces tuning suggestions.
      *
@@ -58,12 +55,6 @@ public class JvmConfigurationSuggestions {
         if (!U.jvmName().toLowerCase().contains("server"))
             suggestions.add("Enable server mode for JVM (add '" + SERVER + "' 
to JVM options)");
 
-        if (!"11".equals(U.jdkVersion()))
-            suggestions.add("Switch to the most recent 11 JVM version");
-
-        if (U.jdkVersion().equals("1.8") && !args.contains(USE_G1_GC))
-            suggestions.add("Enable G1 Garbage Collector (add '" + USE_G1_GC + 
"' to JVM options)");
-
         if (!anyStartWith(args, XMX) && !anyStartWith(args, MX))
             suggestions.add("Specify JVM heap max size (add '" + XMX + 
"<size>[g|G|m|M|k|K]' to JVM options)");
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
index 5922f1de997..a5ec0a85d1b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/FeatureChecker.java
@@ -21,8 +21,8 @@ package org.apache.ignite.internal.util;
  * initialization effects.
  */
 public class FeatureChecker {
-    /** Required Options to Run on Java 9, 10, 11. */
-    public static final String JAVA_9_10_11_OPTIONS = 
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED\n" +
+    /** Required Options to Run on Java 11. */
+    public static final String JAVA_11_OPTIONS = 
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED\n" +
         "--add-exports=java.base/sun.nio.ch=ALL-UNNAMED\n" +
         "--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED\n" +
         "--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED\n" 
+
@@ -57,7 +57,7 @@ public class FeatureChecker {
     /** Java version specific warning to be added in case access failed */
     public static final String JAVA_VER_SPECIFIC_WARN =
         "\nPlease add the following parameters to JVM startup settings and 
restart the application: {parameters: " +
-            JAVA_9_10_11_OPTIONS +
+            JAVA_11_OPTIONS +
             "\n}" +
-            "\nSee 
https://apacheignite.readme.io/docs/getting-started#section-running-ignite-with-java-9-10-11
 for more information.";
+            "\nSee 
https://ignite.apache.org/docs/latest/quick-start/java#running-ignite-with-java-11-or-later
 for more information.";
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridCleaner.java 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridCleaner.java
deleted file mode 100644
index 785cc55b954..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridCleaner.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.util;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import org.apache.ignite.IgniteException;
-
-/**
- * The facade for Cleaner classes for compatibility between java 8 and 9.
- */
-public class GridCleaner {
-    /** Pre-java9 cleaner class name. */
-    private static final String PRE_JAVA9_CLEANER_CLASS_NAME = 
"sun.misc.Cleaner";
-
-    /** Java9 cleaner class name. */
-    private static final String JAVA9_CLEANER_CLASS_NAME = 
"java.lang.ref.Cleaner";
-
-    /** Cleaner class. */
-    private static final Class<?> cls;
-
-    /** Cleaner object. */
-    private static final Object instance;
-
-    /** Cleaner register method. */
-    private static final Method initMtd;
-
-    static {
-        cls = findCleanerClass();
-
-        try {
-            String mtdName;
-
-            if (JAVA9_CLEANER_CLASS_NAME.equals(cls.getName())) {
-                instance = cls.getMethod("create").invoke(null);
-
-                mtdName = "register";
-            }
-            else {
-                instance = null;
-
-                mtdName = "create";
-            }
-
-            initMtd = cls.getMethod(mtdName, Object.class, Runnable.class);
-        }
-        catch (ReflectiveOperationException e) {
-            throw new ExceptionInInitializerError(e);
-        }
-    }
-
-    /**
-     *
-     */
-    private static Class<?> findCleanerClass() {
-        String[] clsNames = {PRE_JAVA9_CLEANER_CLASS_NAME, 
JAVA9_CLEANER_CLASS_NAME};
-
-        ClassLoader clsLdr = ClassLoader.getSystemClassLoader();
-
-        for (String clsName : clsNames) {
-            try {
-                return Class.forName(clsName, true, clsLdr);
-            }
-            catch (ClassNotFoundException ignore) {
-                // ignored;
-            }
-        }
-
-        throw new IllegalStateException("None of cleaner classes found: " + 
Arrays.toString(clsNames));
-    }
-
-    /**
-     * @param obj Object.
-     * @param act Action.
-     */
-    public static Object create(Object obj, Runnable act) {
-        try {
-            return initMtd.invoke(instance, obj, act);
-        }
-        catch (ReflectiveOperationException e) {
-            throw new IgniteException(e);
-        }
-    }
-}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
index ce9476f4916..6d45be20303 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
@@ -124,10 +124,7 @@ public abstract class GridUnsafe {
     private static final boolean HAS_JAVA_NIO_ACCESS_MEMORY_SEGMENT_PARAM = 
majorJavaVersion(jdkVersion()) >= 19;
 
     /** Cleaner code for direct {@code java.nio.ByteBuffer}. */
-    private static final DirectBufferCleaner DIRECT_BUF_CLEANER =
-        majorJavaVersion(jdkVersion()) < 9
-            ? new ReflectiveDirectBufferCleaner()
-            : new UnsafeDirectBufferCleaner();
+    private static final DirectBufferCleaner DIRECT_BUF_CLEANER = new 
UnsafeDirectBufferCleaner();
 
     /** JavaNioAccess object. If {@code null} then {@link 
#NEW_DIRECT_BUF_CONSTRUCTOR} should be available. */
     @Nullable private static final Object JAVA_NIO_ACCESS_OBJ;
@@ -1684,9 +1681,6 @@ public abstract class GridUnsafe {
     @NotNull private static String getSharedSecretsPackage() {
         int javaVer = majorJavaVersion(jdkVersion());
 
-        if (javaVer < 9)
-            return "sun.misc";
-
         if (javaVer < 12)
             return "jdk.internal.misc";
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/util/GridCleanerTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/util/GridCleanerTest.java
deleted file mode 100644
index e024c7c88c8..00000000000
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/util/GridCleanerTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.util;
-
-import org.junit.Test;
-
-/**
- * Grid cleaner tests.
- */
-public class GridCleanerTest {
-    /**
-     * @throws Exception If failed.
-     */
-    @Test
-    public void testCreate() throws Exception {
-        Object cleaner = GridCleaner.create(this, new Runnable() {
-            @Override public void run() {
-                // no-op
-            }
-        });
-
-        assert cleaner != null;
-
-        String clsName = cleaner.getClass().getName();
-
-        assert clsName.equals("sun.misc.Cleaner")
-            || 
clsName.equals("jdk.internal.ref.CleanerImpl$PhantomCleanableRef");
-    }
-}
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
index f4fd9a08a55..1b8bc518003 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
@@ -81,7 +81,6 @@ import 
org.apache.ignite.internal.processors.metastorage.persistence.Distributed
 import 
org.apache.ignite.internal.processors.metastorage.persistence.DmsDataWriterWorkerTest;
 import 
org.apache.ignite.internal.processors.metastorage.persistence.InMemoryCachedDistributedMetaStorageBridgeTest;
 import org.apache.ignite.internal.suggestions.JvmConfigurationSuggestionsTest;
-import org.apache.ignite.internal.util.GridCleanerTest;
 import org.apache.ignite.internal.util.collection.BitSetIntSetTest;
 import org.apache.ignite.internal.util.collection.ImmutableIntSetTest;
 import org.apache.ignite.internal.util.collection.IntHashMapTest;
@@ -155,8 +154,6 @@ import org.junit.runners.Suite;
 
     IgniteRejectConnectOnNodeStopTest.class,
 
-    GridCleanerTest.class,
-
     ClassSetTest.class,
 
     // Basic failure handlers.
diff --git a/modules/numa-allocator/README.md b/modules/numa-allocator/README.md
index 89abbc4e13f..5d5937a2508 100644
--- a/modules/numa-allocator/README.md
+++ b/modules/numa-allocator/README.md
@@ -17,11 +17,11 @@ $ sudo apt install numactl
 1. `RHEL` or `Cent OS`
 ```bash
 $ sudo yum groupinstall 'Development Tools'
-$ sudo yum install java-1.8.0-openjdk numactl-devel libstdc++-static
+$ sudo yum install java-11-openjdk numactl-devel libstdc++-static
 ```
 2. `Ubuntu` or `Debian`
 ```bash
-$ sudo apt install build-essential libnuma-dev openjdk-8-jdk
+$ sudo apt install build-essential libnuma-dev openjdk-11-jdk
 ```
 ## Usage
 ### Simple allocation strategy
diff --git a/modules/platforms/dotnet/examples/README.md 
b/modules/platforms/dotnet/examples/README.md
index 394cb10275f..3d25a6335c7 100644
--- a/modules/platforms/dotnet/examples/README.md
+++ b/modules/platforms/dotnet/examples/README.md
@@ -7,7 +7,7 @@
 # Requirements
 
 * [.NET 6 SDK](https://dotnet.microsoft.com/download/dotnet-core)
-* [JDK 
8](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html) 
or [JDK 
11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)
+* [JDK 
11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)
 
 Windows, Linux, and macOS are supported.
 
diff --git a/modules/tools/pom.xml b/modules/tools/pom.xml
index c0db282de0a..d0060dd01ec 100644
--- a/modules/tools/pom.xml
+++ b/modules/tools/pom.xml
@@ -36,9 +36,9 @@
 
     <profiles>
         <profile>
-            <id>java-9+</id>
+            <id>java-11+</id>
             <activation>
-                <jdk>[1.9,15)</jdk>
+                <jdk>[11,15)</jdk>
             </activation>
             <properties>
                 <src.javaspecific.dir>src/main/java11</src.javaspecific.dir>
@@ -55,16 +55,6 @@
             </properties>
         </profile>
 
-        <profile>
-            <id>java-8</id>
-            <activation>
-                <jdk>1.8</jdk>
-            </activation>
-            <properties>
-                <src.javaspecific.dir>src/main/java8</src.javaspecific.dir>
-            </properties>
-        </profile>
-
         <profile>
             <!--
             This profile is used to provide a check that all tests are defined 
in at least one suite.
@@ -146,7 +136,6 @@
                 <artifactId>maven-checkstyle-plugin</artifactId>
                 <configuration>
                     <sourceDirectories combine.children="append">
-                        <sourceDirectory>src/main/java8</sourceDirectory>
                         <sourceDirectory>src/main/java11</sourceDirectory>
                         <sourceDirectory>src/main/java15</sourceDirectory>
                     </sourceDirectories>
diff --git 
a/modules/tools/src/main/java/org/apache/ignite/tools/ant/beautifier/GridJavadocAntTask.java
 
b/modules/tools/src/main/java/org/apache/ignite/tools/ant/beautifier/GridJavadocAntTask.java
index df4b0ad9d44..dfd5861802b 100644
--- 
a/modules/tools/src/main/java/org/apache/ignite/tools/ant/beautifier/GridJavadocAntTask.java
+++ 
b/modules/tools/src/main/java/org/apache/ignite/tools/ant/beautifier/GridJavadocAntTask.java
@@ -154,16 +154,12 @@ public class GridJavadocAntTask extends MatchingTask {
                             .configure(cfg -> cfg.setErrorLogEnabled(false))
             ).parse(fileContent);
 
-            String jdkVer = System.getProperty("java.specification.version");
-
-            boolean jdk11 = "11".equals(jdkVer);
-
-            if (!jdk11 && !"1.8".equals(jdkVer)) {
+            if 
(!"11".equals(System.getProperty("java.specification.version"))) {
                 throw new IllegalArgumentException("GridJavadocAntTask isn't 
tested for java versions after 11. " +
                     "Please check html rendering of documentation package 
groups works correctly and remove this exception then.");
             }
 
-            if (file.getName().equals(jdk11 ? "index.html" : 
"overview-summary.html")) {
+            if ("index.html".equals(file.getName())) {
                 // Try to find Other Packages section.
                 Jerry otherPackages =
                     doc.find("div.contentContainer table.overviewSummary 
caption span:contains('Other Packages')");
@@ -177,23 +173,21 @@ public class GridJavadocAntTask extends MatchingTask {
                         "<configuration> / <groups>");
                 }
 
-                if (jdk11) {
-                    int pkgGrps = doc.find("div.contentContainer 
table.overviewSummary caption span.tableTab").size();
-
-                    if (pkgGrps == 0) {
-                        throw new IllegalArgumentException("Documentation 
package groups missed. Please add packages " +
-                            "description to parent/pom.xml into 
<plugin>(maven-javadoc-plugin) / " +
-                            "<configuration> / <groups>");
-                    }
-
-                    // This limit is set for JDK11. Each group is represented 
as a tab. Tabs are enumerated with a number 2^N
-                    // where N is a sequential number for a tab. For 32 tabs 
(+ the "All Packages" tab) the number is overflowed
-                    // and the tabulation becomes broken. See var data in 
"index.html".
-                    if (pkgGrps > 30) {
-                        throw new IllegalArgumentException("Too many package 
groups: " + pkgGrps + ". The limit"
-                            + " is 30 due to the javadoc limitations. Please 
reduce groups in parent/pom.xml"
-                            + " inside <plugin>(maven-javadoc-plugin) / 
<configuration> / <groups>");
-                    }
+                int pkgGrps = doc.find("div.contentContainer 
table.overviewSummary caption span.tableTab").size();
+
+                if (pkgGrps == 0) {
+                    throw new IllegalArgumentException("Documentation package 
groups missed. Please add packages " +
+                        "description to parent/pom.xml into 
<plugin>(maven-javadoc-plugin) / " +
+                        "<configuration> / <groups>");
+                }
+
+                // This limit is set for JDK11. Each group is represented as a 
tab. Tabs are enumerated with a number 2^N
+                // where N is a sequential number for a tab. For 32 tabs (+ 
the "All Packages" tab) the number is overflowed
+                // and the tabulation becomes broken. See var data in 
"index.html".
+                if (pkgGrps > 30) {
+                    throw new IllegalArgumentException("Too many package 
groups: " + pkgGrps + ". The limit"
+                        + " is 30 due to the javadoc limitations. Please 
reduce groups in parent/pom.xml"
+                        + " inside <plugin>(maven-javadoc-plugin) / 
<configuration> / <groups>");
                 }
             }
             else if (!isViewHtml(file)) {
diff --git 
a/modules/tools/src/main/java8/org/apache/ignite/tools/javadoc/IgniteLinkTaglet.java
 
b/modules/tools/src/main/java8/org/apache/ignite/tools/javadoc/IgniteLinkTaglet.java
deleted file mode 100644
index 805f2614eae..00000000000
--- 
a/modules/tools/src/main/java8/org/apache/ignite/tools/javadoc/IgniteLinkTaglet.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.tools.javadoc;
-
-import java.io.File;
-import java.util.Map;
-import com.sun.javadoc.Tag;
-import com.sun.tools.doclets.Taglet;
-
-/**
- * Represents {@ignitelink Class} tag. This tag can
- * be used as replacement of {@link Class} tag that references to the Ignite 
class that is not in classpath.
- * Class and its arguments should have fully qualified names.
- */
-public class IgniteLinkTaglet implements Taglet {
-    /** */
-    private static final String NAME = "ignitelink";
-
-    /**
-     * Return the name of this custom tag.
-     */
-    @Override public String getName() {
-        return NAME;
-    }
-
-    /**
-     * @return true since this tag can be used in a field doc comment.
-     */
-    @Override public boolean inField() {
-        return true;
-    }
-
-    /**
-     * @return true since this tag can be used in a constructor doc comment.
-     */
-    @Override public boolean inConstructor() {
-        return true;
-    }
-
-    /**
-     * @return true since this tag can be used in a method doc comment.
-     */
-    @Override public boolean inMethod() {
-        return true;
-    }
-
-    /**
-     * @return true since this tag can be used in an overview doc comment.
-     */
-    @Override public boolean inOverview() {
-        return true;
-    }
-
-    /**
-     * @return true since this tag can be used in a package doc comment.
-     */
-    @Override public boolean inPackage() {
-        return true;
-    }
-
-    /**
-     * @return true since this.
-     */
-    @Override public boolean inType() {
-        return true;
-    }
-
-    /**
-     * Will return true since this is an inline tag.
-     *
-     * @return true since this is an inline tag.
-     */
-    @Override public boolean isInlineTag() {
-        return true;
-    }
-
-    /**
-     * Register this Taglet.
-     *
-     * @param tagletMap the map to register this tag to.
-     */
-    public static void register(Map<String, IgniteLinkTaglet> tagletMap) {
-        IgniteLinkTaglet tag = new IgniteLinkTaglet();
-
-        Taglet t = tagletMap.get(tag.getName());
-
-        if (t != null)
-            tagletMap.remove(tag.getName());
-
-        tagletMap.put(tag.getName(), tag);
-    }
-
-    /**
-     * Given the <code>Tag</code> representation of this custom tag, return 
its string representation.
-     * <p>
-     * Input: 
org.apache.ignite.grid.spi.indexing.h2.GridH2IndexingSpi#setIndexCustomFunctionClasses(Class[])
-     * <p>
-     * Output: <a 
href="../../../../../org/apache/ignite/grid/spi/indexing/h2/GridH2IndexingSpi.html#
-     * setIndexCustomFunctionClasses(java.lang.Class...)">
-     * 
<code>GridH2IndexingSpi.setIndexCustomFunctionClasses(java.lang.Class[])</code></a>
-     *
-     * @param tag <code>Tag</code> representation of this custom tag.
-     */
-    @Override public String toString(Tag tag) {
-        if (tag.text() == null || tag.text().isEmpty())
-            return "";
-
-        File f = tag.position().file();
-
-        String curCls = f == null ? "" : 
f.getAbsolutePath().replace(File.separator, ".");
-
-        String packPref = "src.main.java.";
-
-        int idx = curCls.indexOf(packPref);
-
-        StringBuilder path = new StringBuilder();
-
-        if (idx != -1) {
-            curCls = curCls.substring(idx + packPref.length());
-
-            for (int i = 0, n = curCls.split("\\.").length - 2; i < n; i++)
-                path.append("../");
-        }
-
-        String[] tokens = tag.text().split("#");
-
-        int lastIdx = tokens[0].lastIndexOf('.');
-
-        String simpleClsName = lastIdx != -1 && lastIdx + 1 < 
tokens[0].length() ?
-            tokens[0].substring(lastIdx + 1) : tokens[0];
-
-        String fullyQClsName = tokens[0].replace(".", "/");
-
-        return "<a href=\"" + path.toString() + fullyQClsName + ".html" +
-            (tokens.length > 1 ? ("#" + tokens[1].replace("[]", "...")) : "") +
-            "\"><code>" + simpleClsName + (tokens.length > 1 ? ("." + 
tokens[1]) : "") + "</code></a>";
-    }
-
-    /**
-     * This method should not be called since arrays of inline tags do not
-     * exist.  Method {@link #toString(Tag)} should be used to convert this
-     * inline tag to a string.
-     *
-     * @param tags the array of <code>Tag</code>s representing of this custom 
tag.
-     */
-    @Override public String toString(Tag[] tags) {
-        return null;
-    }
-}
diff --git a/parent/pom.xml b/parent/pom.xml
index 3a6b8ad7b3e..ae30cf139a7 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -46,8 +46,8 @@
     <packaging>pom</packaging>
 
     <properties>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
 
         <revision>2.17.0-SNAPSHOT</revision>
         <!-- Ignite version will be substituted with the flatten-maven-plugin 
and used as
@@ -671,7 +671,7 @@
                         <phase>validate</phase>
                         <configuration>
                             <name>ignite.buildNumber</name>
-                            <!-- See: 
https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html -->
+                            <!-- See: 
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html
 -->
                             <pattern>yywwu</pattern>
                         </configuration>
                     </execution>
@@ -908,12 +908,12 @@
         </profile>
 
         <profile>
-            <id>java-9+</id>
+            <id>java-11+</id>
             <activation>
-                <jdk>[1.9,15)</jdk>
+                <jdk>[11,15)</jdk>
             </activation>
             <properties>
-                <maven.compiler.source>1.8</maven.compiler.source>
+                <maven.compiler.source>11</maven.compiler.source>
                 <maven.compiler.target>11</maven.compiler.target>
             </properties>
             <dependencies/>
@@ -1004,7 +1004,7 @@
                 <jdk>[15,)</jdk>
             </activation>
             <properties>
-                <maven.compiler.source>1.8</maven.compiler.source>
+                <maven.compiler.source>11</maven.compiler.source>
                 <maven.compiler.target>15</maven.compiler.target>
                 <scala.library.version>2.12.15</scala.library.version>
             </properties>


Reply via email to