You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2023/09/13 16:46:28 UTC

[tika] 01/01: TIKA-4128 -- bump to Java 11

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

tallison pushed a commit to branch TIKA-4128
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 8d6a464851bff6e60ada2662bb05486396609179
Author: tallison <ta...@apache.org>
AuthorDate: Wed Sep 13 12:46:12 2023 -0400

    TIKA-4128 -- bump to Java 11
---
 .github/workflows/main-jdk8-build.yml              | 41 ----------------------
 CHANGES.txt                                        |  4 ++-
 .../java/org/apache/tika/util/ClassLoaderUtil.java |  7 ++--
 .../java/org/apache/tika/config/ConfigBase.java    |  5 +--
 .../main/java/org/apache/tika/config/Param.java    |  5 +--
 .../java/org/apache/tika/config/TikaConfig.java    |  4 +--
 .../org/apache/tika/fork/ClassLoaderProxy.java     |  2 +-
 .../org/apache/tika/utils/ServiceLoaderUtils.java  | 10 +++---
 .../java/org/apache/tika/utils/XMLReaderUtils.java |  9 +++--
 .../org/apache/tika/parser/mock/MockParser.java    |  2 +-
 .../tika/eval/core/tokens/TokenCounterTest.java    |  2 +-
 tika-parent/pom.xml                                | 23 ++----------
 .../apache/tika/parser/ner/NamedEntityParser.java  |  3 +-
 .../microsoft/onenote/FndStructureConstants.java   |  2 +-
 .../tika/parser/microsoft/onenote/OneNotePtr.java  |  4 +--
 .../onenote/fsshttpb/streamobj/DataElement.java    |  6 ++--
 .../onenote/fsshttpb/streamobj/StreamObject.java   |  7 ++--
 .../fsshttpb/streamobj/basic/BasicObject.java      |  6 ++--
 .../onenote/fsshttpb/streamobj/basic/ExGuid.java   |  2 +-
 .../org/apache/tika/parser/csv/CSVSnifferTest.java |  8 ++---
 .../org/apache/tika/xmp/convert/TikaToXMP.java     |  2 +-
 .../java/org/apache/tika/xmp/XMPMetadataTest.java  |  2 +-
 22 files changed, 59 insertions(+), 97 deletions(-)

diff --git a/.github/workflows/main-jdk8-build.yml b/.github/workflows/main-jdk8-build.yml
deleted file mode 100644
index 3e00d49a3..000000000
--- a/.github/workflows/main-jdk8-build.yml
+++ /dev/null
@@ -1,41 +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.
-#
-
-name: main pr build
-
-on:
-  push:
-    branches: [ main ]
-  pull_request:
-    branches: [ main ]
-        
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        java: [ '1.8' ]
-
-    steps:
-      - uses: actions/checkout@v2
-      - name: Set up JDK ${{ matrix.java }}
-        uses: actions/setup-java@v1
-        with:
-          java-version: ${{ matrix.java }}
-      - name: Build with Maven
-        run: mvn clean test install javadoc:aggregate
diff --git a/CHANGES.txt b/CHANGES.txt
index 9d6a3b3ad..30c137609 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
-Release 2.9.1 - ??
+Release 3.0.0-BETA - ??
+
+   * Require Java 11 (TIKA-4128).
 
    * Fix bug in DateUtils that stripped timezone information from
      incoming Calendar objects (TIKA-4126).
diff --git a/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java b/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java
index c0ad512f2..bbefed089 100644
--- a/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java
+++ b/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java
@@ -16,6 +16,8 @@
  */
 package org.apache.tika.util;
 
+import java.lang.reflect.InvocationTargetException;
+
 public class ClassLoaderUtil {
 
     @SuppressWarnings("unchecked")
@@ -26,11 +28,12 @@ public class ClassLoaderUtil {
         try {
             clazz = loader.loadClass(className);
             if (iface.isAssignableFrom(clazz)) {
-                return (T) clazz.newInstance();
+                return (T) clazz.getDeclaredConstructor().newInstance();
             }
             throw new IllegalArgumentException(
                     iface + " is not assignable from " + className);
-        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
+        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException |
+                 NoSuchMethodException | InvocationTargetException e) {
             throw new RuntimeException(e);
         }
 
diff --git a/tika-core/src/main/java/org/apache/tika/config/ConfigBase.java b/tika-core/src/main/java/org/apache/tika/config/ConfigBase.java
index 41833ed9d..405294fae 100644
--- a/tika-core/src/main/java/org/apache/tika/config/ConfigBase.java
+++ b/tika-core/src/main/java/org/apache/tika/config/ConfigBase.java
@@ -202,8 +202,9 @@ public abstract class ConfigBase {
                         elementName + " with class name " + className + " must be of type '" +
                                 itemClass.getName() + "'");
             }
-            return (T) clazz.newInstance();
-        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
+            return (T) clazz.getDeclaredConstructor().newInstance();
+        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException |
+                 NoSuchMethodException | InvocationTargetException e) {
             throw new TikaConfigException("problem loading " + elementName +
                     " with class " + itemClass.getName(), e);
         }
diff --git a/tika-core/src/main/java/org/apache/tika/config/Param.java b/tika-core/src/main/java/org/apache/tika/config/Param.java
index 7de36acbc..25d367fe1 100644
--- a/tika-core/src/main/java/org/apache/tika/config/Param.java
+++ b/tika-core/src/main/java/org/apache/tika/config/Param.java
@@ -193,8 +193,9 @@ public class Param<T> implements Serializable {
     private static <T> void loadObject(Param<T> ret, Node root, Class clazz) throws TikaConfigException {
 
         try {
-            ret.actualValue = (T)clazz.newInstance();
-        } catch (InstantiationException | IllegalAccessException e) {
+            ret.actualValue = (T)clazz.getDeclaredConstructor().newInstance();
+        } catch (InstantiationException | IllegalAccessException | NoSuchMethodException |
+                 InvocationTargetException e) {
             throw new TikaConfigException("can't build class: " + clazz, e);
         }
 
diff --git a/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java b/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
index cb23cec21..ff62af95b 100644
--- a/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
+++ b/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java
@@ -800,7 +800,7 @@ public class TikaConfig {
         T newInstance(Class<? extends T> loadedClass)
                 throws IllegalAccessException, InstantiationException, NoSuchMethodException,
                 InvocationTargetException {
-            return loadedClass.newInstance();
+            return loadedClass.getDeclaredConstructor().newInstance();
         }
 
         /**
@@ -987,7 +987,7 @@ public class TikaConfig {
                 Constructor ctor = loadedClass.getConstructor(EncodingDetector.class);
                 parser = (Parser) ctor.newInstance(encodingDetector);
             } else {
-                parser = loadedClass.newInstance();
+                parser = loadedClass.getDeclaredConstructor().newInstance();
             }
 
             if (parser instanceof RenderingParser) {
diff --git a/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java b/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java
index 968ad8096..51b1beeff 100644
--- a/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java
+++ b/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java
@@ -125,7 +125,7 @@ class ClassLoaderProxy extends ClassLoader implements ForkProxy {
 
     private void definePackageIfNecessary(String className, Class<?> clazz) {
         String packageName = toPackageName(className);
-        if (packageName != null && getPackage(packageName) == null) {
+        if (packageName != null && getDefinedPackage(packageName) == null) {
             definePackage(packageName, null, null, null, null, null, null, null);
         }
     }
diff --git a/tika-core/src/main/java/org/apache/tika/utils/ServiceLoaderUtils.java b/tika-core/src/main/java/org/apache/tika/utils/ServiceLoaderUtils.java
index 9e922c71b..1e61c97ae 100644
--- a/tika-core/src/main/java/org/apache/tika/utils/ServiceLoaderUtils.java
+++ b/tika-core/src/main/java/org/apache/tika/utils/ServiceLoaderUtils.java
@@ -55,8 +55,9 @@ public class ServiceLoaderUtils {
      */
     public static <T> T newInstance(String className, ClassLoader loader) {
         try {
-            return ((Class<T>) Class.forName(className, true, loader)).newInstance();
-        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
+            return ((Class<T>) Class.forName(className, true, loader)).getDeclaredConstructor().newInstance();
+        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException |
+                 NoSuchMethodException | InvocationTargetException e) {
             throw new RuntimeException(e);
         }
     }
@@ -77,11 +78,12 @@ public class ServiceLoaderUtils {
                 Constructor<T> constructor = klass.getDeclaredConstructor(ServiceLoader.class);
                 return constructor.newInstance(loader);
             } catch (NoSuchMethodException e) {
-                return (T)klass.newInstance();
+                return (T)klass.getDeclaredConstructor().newInstance();
             } catch (InvocationTargetException e) {
                 throw new RuntimeException(e);
             }
-        } catch (InstantiationException | IllegalAccessException e) {
+        } catch (InstantiationException | IllegalAccessException | NoSuchMethodException |
+                 InvocationTargetException e) {
             throw new RuntimeException(e);
         }
     }
diff --git a/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java b/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java
index 9db9d291a..53ebc154e 100644
--- a/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java
+++ b/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java
@@ -707,7 +707,8 @@ public class XMLReaderUtils implements Serializable {
                 //"com.sun.org.apache.xerces.internal.util.SecurityManager",
                 XERCES_SECURITY_MANAGER}) {
             try {
-                Object mgr = Class.forName(securityManagerClassName).newInstance();
+                Object mgr =
+                        Class.forName(securityManagerClassName).getDeclaredConstructor().newInstance();
                 Method setLimit = mgr.getClass().getMethod("setEntityExpansionLimit",
                         Integer.TYPE);
                 setLimit.invoke(mgr, MAX_ENTITY_EXPANSIONS);
@@ -750,7 +751,8 @@ public class XMLReaderUtils implements Serializable {
                 //"com.sun.org.apache.xerces.internal.util.SecurityManager",
                 XERCES_SECURITY_MANAGER}) {
             try {
-                Object mgr = Class.forName(securityManagerClassName).newInstance();
+                Object mgr =
+                        Class.forName(securityManagerClassName).getDeclaredConstructor().newInstance();
                 Method setLimit = mgr.getClass().getMethod("setEntityExpansionLimit", Integer.TYPE);
                 setLimit.invoke(mgr, MAX_ENTITY_EXPANSIONS);
 
@@ -902,7 +904,8 @@ public class XMLReaderUtils implements Serializable {
         }
         boolean hasSecurityManager = false;
         try {
-            Object mgr = Class.forName(XERCES_SECURITY_MANAGER).newInstance();
+            Object mgr =
+                    Class.forName(XERCES_SECURITY_MANAGER).getDeclaredConstructor().newInstance();
             Method setLimit = mgr.getClass().getMethod("setEntityExpansionLimit", Integer.TYPE);
             setLimit.invoke(mgr, MAX_ENTITY_EXPANSIONS);
 
diff --git a/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java b/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java
index f57884044..8a2166f65 100644
--- a/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java
+++ b/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java
@@ -417,7 +417,7 @@ public class MockParser extends AbstractParser {
         Throwable t = null;
         if (msg == null || msg.equals("")) {
             try {
-                t = (Throwable) Class.forName(className).newInstance();
+                t = (Throwable) Class.forName(className).getDeclaredConstructor().newInstance();
             } catch (Exception e) {
                 throw new RuntimeException("couldn't create throwable class:" + className, e);
             }
diff --git a/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/TokenCounterTest.java b/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/TokenCounterTest.java
index e96557150..dc687a2b2 100644
--- a/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/TokenCounterTest.java
+++ b/tika-eval/tika-eval-core/src/test/java/org/apache/tika/eval/core/tokens/TokenCounterTest.java
@@ -110,7 +110,7 @@ public class TokenCounterTest {
         ts.end();
         ts.close();
         assertEquals(7, tokens.size());
-        assertEquals(new Integer(1), tokens.get("林斯"));
+        assertEquals(Integer.valueOf(1), tokens.get("林斯"));
     }
 
     private String generateString() {
diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml
index ca414f0ba..6547b90a8 100644
--- a/tika-parent/pom.xml
+++ b/tika-parent/pom.xml
@@ -281,8 +281,8 @@
   </contributors>
 
   <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>
     <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
     <project.build.outputTimestamp>1692799752</project.build.outputTimestamp>
@@ -966,8 +966,7 @@
         <artifactId>maven-compiler-plugin</artifactId>
         <version>${maven.compiler.plugin.version}</version>
         <configuration>
-          <source>${maven.compiler.source}</source>
-          <target>${maven.compiler.target}</target>
+          <release>11</release>
         </configuration>
       </plugin>
       <!--
@@ -1273,22 +1272,6 @@
         </plugins>
       </build>
     </profile>
-    <profile>
-      <id>jdk9</id>
-      <activation>
-        <jdk>[1.9,)</jdk>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-compiler-plugin</artifactId>
-            <configuration>
-              <release>8</release>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
     <profile>
       <id>ossindex-fail</id>
       <!-- actually fail the build on vulnerabilities -->
diff --git a/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/NamedEntityParser.java b/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/NamedEntityParser.java
index 806f7f61f..d23d78ead 100644
--- a/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/NamedEntityParser.java
+++ b/tika-parsers/tika-parsers-ml/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/NamedEntityParser.java
@@ -88,7 +88,8 @@ public class NamedEntityParser extends AbstractParser {
             className = className.trim();
             LOG.info("going to load, instantiate and bind the instance of {}", className);
             try {
-                NERecogniser recogniser = (NERecogniser) Class.forName(className).newInstance();
+                NERecogniser recogniser =
+                        (NERecogniser) Class.forName(className).getDeclaredConstructor().newInstance();
                 LOG.info("{} is available ? {}", className, recogniser.isAvailable());
                 if (recogniser.isAvailable()) {
                     nerChain.add(recogniser);
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/FndStructureConstants.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/FndStructureConstants.java
index 74fb6cbc8..90f5463ce 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/FndStructureConstants.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/FndStructureConstants.java
@@ -60,7 +60,7 @@ final class FndStructureConstants {
     }
 
     static String nameOf(long type) {
-        switch (new Long(type).intValue()) {
+        switch (Long.valueOf(type).intValue()) {
             case (int) ObjectSpaceManifestRootFND:
                 return "ObjectSpaceManifestRootFND";
             case (int) ObjectSpaceManifestListReferenceFND:
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNotePtr.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNotePtr.java
index a78e4f29b..e5f0b2767 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNotePtr.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/OneNotePtr.java
@@ -885,7 +885,7 @@ class OneNotePtr {
         long local8;
         long local16;
         long local32;
-        switch (new Long(stpFormat).intValue()) {
+        switch (Long.valueOf(stpFormat).intValue()) {
             case 0: // 8 bytes, uncompressed
                 data.stp = deserializeLittleEndianLong();
                 break;
@@ -906,7 +906,7 @@ class OneNotePtr {
             default:
                 throw new TikaException("Unknown STP file node format " + stpFormat);
         }
-        switch (new Long(cbFormat).intValue()) {
+        switch (Long.valueOf(cbFormat).intValue()) {
             case 0: // 4 bytes, uncompressed
                 local32 = deserializeLittleEndianInt();
                 data.cb = local32;
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/DataElement.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/DataElement.java
index 058c92425..99f747d3e 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/DataElement.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/DataElement.java
@@ -18,6 +18,7 @@
 package org.apache.tika.parser.microsoft.onenote.fsshttpb.streamobj;
 
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
@@ -147,8 +148,9 @@ public class DataElement extends StreamObject {
         if (DATA_ELEMENT_DATA_TYPE_MAPPING.containsKey(this.dataElementType)) {
             try {
                 this.data = (DataElementData) DATA_ELEMENT_DATA_TYPE_MAPPING.get(this.dataElementType)
-                        .newInstance();
-            } catch (InstantiationException | IllegalAccessException e) {
+                        .getDeclaredConstructor().newInstance();
+            } catch (InstantiationException | IllegalAccessException | NoSuchMethodException |
+                     InvocationTargetException e) {
                 throw new TikaException("Could not instantiate a " + dataElementType, e);
             }
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/StreamObject.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/StreamObject.java
index 81192b22e..0b592b028 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/StreamObject.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/StreamObject.java
@@ -18,6 +18,7 @@
 package org.apache.tika.parser.microsoft.onenote.fsshttpb.streamobj;
 
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -171,8 +172,10 @@ public abstract class StreamObject implements IFSSHTTPBSerializable {
             Class headerTypeClass = streamObjectTypeMapping.get(header.type);
             StreamObject streamObject;
             try {
-                streamObject = (StreamObject) headerTypeClass.newInstance();
-            } catch (InstantiationException | IllegalAccessException e) {
+                streamObject =
+                        (StreamObject) headerTypeClass.getDeclaredConstructor().newInstance();
+            } catch (InstantiationException | IllegalAccessException | NoSuchMethodException |
+                     InvocationTargetException e) {
                 throw new TikaException("Could not instantiate class " + headerTypeClass, e);
             }
 
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/BasicObject.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/BasicObject.java
index 68db7718d..c59983dd9 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/BasicObject.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/BasicObject.java
@@ -18,6 +18,7 @@
 package org.apache.tika.parser.microsoft.onenote.fsshttpb.streamobj.basic;
 
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -39,11 +40,12 @@ public abstract class BasicObject implements IFSSHTTPBSerializable {
                                                   Class<T> clazz) throws TikaException,
             IOException {
         try {
-            T fsshttpbObject = clazz.newInstance();
+            T fsshttpbObject = clazz.getDeclaredConstructor().newInstance();
             index.addAndGet(fsshttpbObject.deserializeFromByteArray(byteArray, index.get()));
 
             return fsshttpbObject;
-        } catch (InstantiationException | IllegalAccessException e) {
+        } catch (InstantiationException | IllegalAccessException | NoSuchMethodException |
+                 InvocationTargetException e) {
             throw new TikaException("Could not parse basic object", e);
         }
     }
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/ExGuid.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/ExGuid.java
index 417fa2679..8f52c0834 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/ExGuid.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/basic/ExGuid.java
@@ -142,7 +142,7 @@ public class ExGuid extends BasicObject {
      */
     @Override
     public int hashCode() {
-        return this.guid.hashCode() + new Integer(this.value).hashCode();
+        return this.guid.hashCode() + Integer.valueOf(this.value).hashCode();
     }
 
     /**
diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/test/java/org/apache/tika/parser/csv/CSVSnifferTest.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/test/java/org/apache/tika/parser/csv/CSVSnifferTest.java
index 2f3ba44ff..338593901 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/test/java/org/apache/tika/parser/csv/CSVSnifferTest.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-text-module/src/test/java/org/apache/tika/parser/csv/CSVSnifferTest.java
@@ -71,11 +71,11 @@ public class CSVSnifferTest extends TikaTest {
     public void testCSVBasic() throws Exception {
         List<CSVResult> results = sniff(DELIMITERS, CSV_BASIC, StandardCharsets.UTF_8);
         assertEquals(2, results.size());
-        assertEquals(new Character(','), results.get(0).getDelimiter());
+        assertEquals(Character.valueOf(','), results.get(0).getDelimiter());
 
         results = sniff(DELIMITERS, TSV_BASIC, StandardCharsets.UTF_8);
         assertEquals(2, results.size());
-        assertEquals(new Character('\t'), results.get(0).getDelimiter());
+        assertEquals(Character.valueOf('\t'), results.get(0).getDelimiter());
     }
 
     @Test
@@ -91,11 +91,11 @@ public class CSVSnifferTest extends TikaTest {
         List<CSVResult> results =
                 sniff(DELIMITERS, ALLOW_SPACES_BEFORE_QUOTE, StandardCharsets.UTF_8);
         assertEquals(2, results.size());
-        assertEquals(new Character(','), results.get(0).getDelimiter());
+        assertEquals(Character.valueOf(','), results.get(0).getDelimiter());
 
         results = sniff(DELIMITERS, ALLOW_SPACES_AFTER_QUOTE, StandardCharsets.UTF_8);
         assertEquals(2, results.size());
-        assertEquals(new Character(','), results.get(0).getDelimiter());
+        assertEquals(Character.valueOf(','), results.get(0).getDelimiter());
     }
 
     @Test
diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java
index 4c891d1a4..152b94191 100644
--- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java
+++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java
@@ -140,7 +140,7 @@ public class TikaToXMP {
             Class<? extends ITikaToXMPConverter> clazz = getConverterMap().get(type);
             if (clazz != null) {
                 try {
-                    converter = clazz.newInstance();
+                    converter = clazz.getDeclaredConstructor().newInstance();
                 } catch (Exception e) {
                     throw new TikaException(
                             "TikaToXMP converter class cannot be instantiated for mimetype: " +
diff --git a/tika-xmp/src/test/java/org/apache/tika/xmp/XMPMetadataTest.java b/tika-xmp/src/test/java/org/apache/tika/xmp/XMPMetadataTest.java
index 0e4117e3c..e358453d8 100644
--- a/tika-xmp/src/test/java/org/apache/tika/xmp/XMPMetadataTest.java
+++ b/tika-xmp/src/test/java/org/apache/tika/xmp/XMPMetadataTest.java
@@ -164,7 +164,7 @@ public class XMPMetadataTest {
     public void getInt_IntegerProperty_valueReturned() throws TikaException {
         xmpMeta.process(tikaMetadata);
 
-        assertEquals(new Integer(2), xmpMeta.getInt(Property.get("xmp:Integer")));
+        assertEquals(Integer.valueOf(2), xmpMeta.getInt(Property.get("xmp:Integer")));
     }
 
     @Test