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 2021/07/07 20:41:38 UTC

[tika] branch main updated: TIKA-3467 -- general clean up with some updates to dependencies.

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 8ed1015  TIKA-3467 -- general clean up with some updates to dependencies.
8ed1015 is described below

commit 8ed1015c220bab03ad77edf8511045fde7d31e02
Author: tallison <ta...@apache.org>
AuthorDate: Wed Jul 7 16:41:17 2021 -0400

    TIKA-3467 -- general clean up with some updates to dependencies.
---
 CHANGES.txt                                        |  2 +
 tika-batch/pom.xml                                 | 23 +-------
 .../tika/example/TranscribeTranslateExample.java   |  2 +-
 .../org/apache/tika/example/TranslatorExample.java |  2 +-
 tika-parent/pom.xml                                | 17 +++---
 .../tika-parser-sqlite3-module/pom.xml             |  2 +-
 tika-parsers/tika-parsers-ml/pom.xml               |  2 +-
 .../tika-parsers-ml/tika-transcribe-aws/pom.xml    |  4 +-
 tika-pipes/pom.xml                                 |  3 +-
 tika-pipes/tika-emitters/pom.xml                   |  2 +-
 tika-pipes/tika-emitters/tika-emitter-s3/pom.xml   |  2 +-
 tika-pipes/tika-fetchers/pom.xml                   |  2 +-
 tika-pipes/tika-fetchers/tika-fetcher-s3/pom.xml   |  2 +-
 tika-pipes/tika-pipes-iterators/pom.xml            |  2 +-
 .../tika-pipes-iterator-s3/pom.xml                 |  2 +-
 tika-server/pom.xml                                |  3 +-
 tika-server/tika-server-client/pom.xml             |  1 +
 tika-server/tika-server-core/pom.xml               |  9 +++
 .../core/TikaServerPipesIntegrationTest.java       |  3 +-
 .../tika/server/core/TranslateResourceTest.java    |  2 +-
 tika-server/tika-server-standard/pom.xml           | 65 ++++++++++++++++++++++
 .../translate/{ => impl}/AbstractTranslator.java   |  3 +-
 .../translate/{ => impl}/CachedTranslator.java     |  3 +-
 .../translate/{ => impl}/ExternalTranslator.java   |  4 +-
 .../translate/{ => impl}/GoogleTranslator.java     |  2 +-
 .../{ => impl}/JoshuaNetworkTranslator.java        |  4 +-
 .../translate/{ => impl}/Lingo24Translator.java    |  2 +-
 .../translate/{ => impl}/MicrosoftTranslator.java  |  4 +-
 .../translate/{ => impl}/MosesTranslator.java      |  2 +-
 .../translate/{ => impl}/RTGTranslator.java        |  2 +-
 .../translate/{ => impl}/YandexTranslator.java     |  2 +-
 .../org.apache.tika.language.translate.Translator  | 12 ++--
 .../{ => impl}/translator.google.properties        |  0
 .../{ => impl}/translator.joshua.properties        |  0
 .../{ => impl}/translator.lingo24.properties       |  0
 .../{ => impl}/translator.microsoft.properties     |  0
 .../{ => impl}/translator.moses.properties         |  0
 .../{ => impl}/translator.yandex.properties        |  0
 .../translate/{ => impl}/CachedTranslatorTest.java |  5 +-
 .../translate/{ => impl}/GoogleTranslatorTest.java |  4 +-
 .../{ => impl}/JoshuaNetworkTranslatorTest.java    |  4 +-
 .../{ => impl}/Lingo24TranslatorTest.java          |  6 +-
 .../{ => impl}/MicrosoftTranslatorTest.java        |  4 +-
 .../translate/{ => impl}/MosesTranslatorTest.java  |  4 +-
 .../translate/{ => impl}/RTGTranslatorTest.java    |  4 +-
 .../translate/{ => impl}/YandexTranslatorTest.java |  4 +-
 46 files changed, 153 insertions(+), 74 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index f3f9b3c..a56b290 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -26,6 +26,8 @@ Release 2.0.0-ALPHA - 01/13/2021
        We have moved away from configuration via .properties files because
        of confusion among users.  This affects the PDFParser, TesseractOCRParser
        and the StringsParser.
+     * Changed namespaces of translator implementations (o.a.t.language.translate.impl) to avoid
+       split-package with tika-core
 
    * tika-parsers
      * The parser modules have been broken into three main modules:
diff --git a/tika-batch/pom.xml b/tika-batch/pom.xml
index bfd264b..a918699 100644
--- a/tika-batch/pom.xml
+++ b/tika-batch/pom.xml
@@ -30,14 +30,10 @@
   </parent>
 
   <artifactId>tika-batch</artifactId>
-  <packaging>bundle</packaging>
+  <packaging>jar</packaging>
   <name>Apache Tika batch</name>
   <url>https://tika.apache.org/</url>
 
-  <properties>
-    <cli.version>1.4</cli.version>
-  </properties>
-
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
@@ -58,7 +54,7 @@
     <dependency>
       <groupId>commons-cli</groupId>
       <artifactId>commons-cli</artifactId>
-      <version>${cli.version}</version>
+      <version>${commons.cli.version}</version>
     </dependency>
 
     <dependency>
@@ -85,21 +81,6 @@
   <build>
     <plugins>
       <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>${maven.bundle.version}</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-DocURL>${project.url}</Bundle-DocURL>
-            <Bundle-Activator>
-              org.apache.tika.config.TikaActivator
-            </Bundle-Activator>
-            <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
-          </instructions>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.apache.rat</groupId>
         <artifactId>apache-rat-plugin</artifactId>
         <version>${rat.version}</version>
diff --git a/tika-example/src/main/java/org/apache/tika/example/TranscribeTranslateExample.java b/tika-example/src/main/java/org/apache/tika/example/TranscribeTranslateExample.java
index a90d322..2debdf8 100644
--- a/tika-example/src/main/java/org/apache/tika/example/TranscribeTranslateExample.java
+++ b/tika-example/src/main/java/org/apache/tika/example/TranscribeTranslateExample.java
@@ -22,8 +22,8 @@ import java.nio.file.Paths;
 
 import org.apache.tika.Tika;
 import org.apache.tika.config.TikaConfig;
-import org.apache.tika.language.translate.GoogleTranslator;
 import org.apache.tika.language.translate.Translator;
+import org.apache.tika.language.translate.impl.GoogleTranslator;
 
 /**
  * This example demonstrates primitive logic for
diff --git a/tika-example/src/main/java/org/apache/tika/example/TranslatorExample.java b/tika-example/src/main/java/org/apache/tika/example/TranslatorExample.java
index f7906e8..4b0a24c 100644
--- a/tika-example/src/main/java/org/apache/tika/example/TranslatorExample.java
+++ b/tika-example/src/main/java/org/apache/tika/example/TranslatorExample.java
@@ -17,7 +17,7 @@
 
 package org.apache.tika.example;
 
-import org.apache.tika.language.translate.MicrosoftTranslator;
+import org.apache.tika.language.translate.impl.MicrosoftTranslator;
 
 public class TranslatorExample {
     public String microsoftTranslateToFrench(String text) {
diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml
index f016ff1..ac21ee8 100644
--- a/tika-parent/pom.xml
+++ b/tika-parent/pom.xml
@@ -269,16 +269,17 @@
     <maven.bundle.version>5.1.1</maven.bundle.version>
     <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
     <maven.failsafe.version>2.22.2</maven.failsafe.version>
-    <maven.javadoc.version>3.1.1</maven.javadoc.version>
+    <maven.javadoc.version>3.2.0</maven.javadoc.version>
     <maven.jar.version>3.2.0</maven.jar.version>
     <maven.scr.version>1.26.4</maven.scr.version>
-    <maven.surefire.version>3.0.0-M4</maven.surefire.version>
+    <maven.surefire.version>3.0.0-M5</maven.surefire.version>
     <maven.shade.version>3.2.4</maven.shade.version>
     <puppycrawl.version>8.44</puppycrawl.version>
     <rat.version>0.13</rat.version>
 
     <!-- dependency versions -->
-    <aws.version>1.12.13</aws.version>
+    <aws.s3.version>1.12.18</aws.s3.version>
+    <aws.transcribe.version>1.12.18</aws.transcribe.version>
     <asm.version>9.2</asm.version>
     <boilerpipe.version>1.1.0</boilerpipe.version>
     <!-- used by POI, PDFBox and Jackcess ...try to sync -->
@@ -309,7 +310,7 @@
     <jackcess.version>4.0.1</jackcess.version>
     <jackcess.encrypt.version>4.0.1</jackcess.encrypt.version>
     <jackrabbit.version>2.21.6</jackrabbit.version>
-    <jackson.version>2.12.3</jackson.version>
+    <jackson.version>2.12.4</jackson.version>
     <javax.annotation.version>1.3.2</javax.annotation.version>
     <javax.jcr.version>2.0</javax.jcr.version>
     <javax.rest.version>2.1.1</javax.rest.version>
@@ -331,7 +332,7 @@
     <metadata.extractor.version>2.16.0</metadata.extractor.version>
     <microsoft.translator.version>0.6.2</microsoft.translator.version>
     <mime4j.version>0.8.4</mime4j.version>
-    <mockito.version>3.7.7</mockito.version>
+    <mockito.version>3.11.2</mockito.version>
     <netcdf-java.version>4.5.5</netcdf-java.version>
     <opencsv.version>2.3</opencsv.version>
     <objenesis.version>3.2</objenesis.version>
@@ -349,7 +350,7 @@
     <slf4j.version>1.7.31</slf4j.version>
     <solrj.version>8.9.0</solrj.version>
     <spring.version>5.3.8</spring.version>
-    <sqlite.version>3.36.0</sqlite.version>
+    <sqlite.version>3.36.0.1</sqlite.version>
     <tagsoup.version>1.2.1</tagsoup.version>
     <test.containers.version>1.15.2</test.containers.version>
     <!-- NOTE: sync tukaani version with commons-compress in tika-parent-->
@@ -433,7 +434,7 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>versions-maven-plugin</artifactId>
-        <version>2.7</version>
+        <version>2.8.1</version>
         <configuration>
           <generateBackupPoms>false</generateBackupPoms>
         </configuration>
@@ -534,7 +535,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-release-plugin</artifactId>
-        <version>2.5.3</version>
+        <version>3.0.0-M5</version>
         <configuration>
           <autoVersionSubmodules>true</autoVersionSubmodules>
         </configuration>
diff --git a/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/pom.xml b/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/pom.xml
index 154a21d..dfa6ff6 100644
--- a/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/pom.xml
+++ b/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/pom.xml
@@ -38,7 +38,7 @@
     <dependency>
       <groupId>org.xerial</groupId>
       <artifactId>sqlite-jdbc</artifactId>
-      <version>3.34.0</version>
+      <version>${sqlite.version}</version>
     </dependency>
   </dependencies>
   <build>
diff --git a/tika-parsers/tika-parsers-ml/pom.xml b/tika-parsers/tika-parsers-ml/pom.xml
index 7f576bc..aa7d7d4 100644
--- a/tika-parsers/tika-parsers-ml/pom.xml
+++ b/tika-parsers/tika-parsers-ml/pom.xml
@@ -29,8 +29,8 @@
 
   <artifactId>tika-parsers-ml</artifactId>
 
-  <packaging>pom</packaging>
   <name>Apache Tika machine learning (ml) parsers</name>
+  <packaging>pom</packaging>
 
   <modules>
     <module>tika-parser-nlp-module</module>
diff --git a/tika-parsers/tika-parsers-ml/tika-transcribe-aws/pom.xml b/tika-parsers/tika-parsers-ml/tika-transcribe-aws/pom.xml
index 72dd8c1..6c5086a 100644
--- a/tika-parsers/tika-parsers-ml/tika-transcribe-aws/pom.xml
+++ b/tika-parsers/tika-parsers-ml/tika-transcribe-aws/pom.xml
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-transcribe</artifactId>
-            <version>${aws.version}</version>
+            <version>${aws.transcribe.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>commons-logging</groupId>
@@ -85,7 +85,7 @@
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-s3</artifactId>
-            <version>${aws.version}</version>
+            <version>${aws.s3.version}</version>
         </dependency>
         <dependency>
             <groupId>com.googlecode.json-simple</groupId>
diff --git a/tika-pipes/pom.xml b/tika-pipes/pom.xml
index fb762c7..91bac21 100644
--- a/tika-pipes/pom.xml
+++ b/tika-pipes/pom.xml
@@ -16,8 +16,6 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <packaging>pom</packaging>
-
 
   <parent>
     <groupId>org.apache.tika</groupId>
@@ -29,6 +27,7 @@
   <artifactId>tika-pipes</artifactId>
   <name>Apache Tika pipes</name>
   <url>https://tika.apache.org/</url>
+  <packaging>pom</packaging>
 
   <modules>
     <module>tika-httpclient-commons</module>
diff --git a/tika-pipes/tika-emitters/pom.xml b/tika-pipes/tika-emitters/pom.xml
index 543d8e7..2e934ad 100644
--- a/tika-pipes/tika-emitters/pom.xml
+++ b/tika-pipes/tika-emitters/pom.xml
@@ -27,9 +27,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>tika-emitters</artifactId>
-  <packaging>pom</packaging>
   <name>Apache Tika emitters</name>
   <url>https://tika.apache.org/</url>
+  <packaging>pom</packaging>
 
   <modules>
     <module>tika-emitter-fs</module>
diff --git a/tika-pipes/tika-emitters/tika-emitter-s3/pom.xml b/tika-pipes/tika-emitters/tika-emitter-s3/pom.xml
index fc93baf..fafcf8e 100644
--- a/tika-pipes/tika-emitters/tika-emitter-s3/pom.xml
+++ b/tika-pipes/tika-emitters/tika-emitter-s3/pom.xml
@@ -46,7 +46,7 @@
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-s3</artifactId>
-      <version>${aws.version}</version>
+      <version>${aws.s3.version}</version>
       <exclusions>
         <exclusion>
           <groupId>commons-logging</groupId>
diff --git a/tika-pipes/tika-fetchers/pom.xml b/tika-pipes/tika-fetchers/pom.xml
index b4d9dc9..8bccf0b 100644
--- a/tika-pipes/tika-fetchers/pom.xml
+++ b/tika-pipes/tika-fetchers/pom.xml
@@ -27,9 +27,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>tika-fetchers</artifactId>
-  <packaging>pom</packaging>
   <name>Apache Tika fetchers</name>
   <url>https://tika.apache.org/</url>
+  <packaging>pom</packaging>
 
   <modules>
     <module>tika-fetcher-http</module>
diff --git a/tika-pipes/tika-fetchers/tika-fetcher-s3/pom.xml b/tika-pipes/tika-fetchers/tika-fetcher-s3/pom.xml
index 4d1921b..507eae1 100644
--- a/tika-pipes/tika-fetchers/tika-fetcher-s3/pom.xml
+++ b/tika-pipes/tika-fetchers/tika-fetcher-s3/pom.xml
@@ -32,7 +32,7 @@
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-s3</artifactId>
-            <version>${aws.version}</version>
+            <version>${aws.s3.version}</version>
             <exclusions>
                 <exclusion>
                     <groupId>commons-logging</groupId>
diff --git a/tika-pipes/tika-pipes-iterators/pom.xml b/tika-pipes/tika-pipes-iterators/pom.xml
index 50fa2e3..ecbaf76 100644
--- a/tika-pipes/tika-pipes-iterators/pom.xml
+++ b/tika-pipes/tika-pipes-iterators/pom.xml
@@ -27,9 +27,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>tika-pipes-iterators</artifactId>
-  <packaging>pom</packaging>
   <name>Apache Tika fetch iterators</name>
   <url>https://tika.apache.org/</url>
+  <packaging>pom</packaging>
 
   <!-- see also org.apache.tika.pipes.pipesiterator.fs.FileSystemIterator
        in tika-core if you want a file system directory crawler -->
diff --git a/tika-pipes/tika-pipes-iterators/tika-pipes-iterator-s3/pom.xml b/tika-pipes/tika-pipes-iterators/tika-pipes-iterator-s3/pom.xml
index 9b29d07..2b098a3 100644
--- a/tika-pipes/tika-pipes-iterators/tika-pipes-iterator-s3/pom.xml
+++ b/tika-pipes/tika-pipes-iterators/tika-pipes-iterator-s3/pom.xml
@@ -41,7 +41,7 @@
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-s3</artifactId>
-      <version>${aws.version}</version>
+      <version>${aws.s3.version}</version>
       <exclusions>
         <exclusion>
           <groupId>commons-logging</groupId>
diff --git a/tika-server/pom.xml b/tika-server/pom.xml
index 5037fc5..5f66849 100644
--- a/tika-server/pom.xml
+++ b/tika-server/pom.xml
@@ -16,7 +16,6 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <packaging>pom</packaging>
   <modules>
     <module>tika-server-core</module>
     <module>tika-server-standard</module>
@@ -33,7 +32,7 @@
   <artifactId>tika-server</artifactId>
   <name>Apache Tika server module</name>
   <url>https://tika.apache.org/</url>
-
+  <packaging>pom</packaging>
   <build>
     <plugins>
       <plugin>
diff --git a/tika-server/tika-server-client/pom.xml b/tika-server/tika-server-client/pom.xml
index 7529eb6..33e5618 100644
--- a/tika-server/tika-server-client/pom.xml
+++ b/tika-server/tika-server-client/pom.xml
@@ -97,6 +97,7 @@
                 <filter>
                   <artifact>*:*</artifact>
                   <excludes>
+                    <exclude>module-info.class</exclude>
                     <exclude>META-INF/*</exclude>
                     <exclude>LICENSE.txt</exclude>
                     <exclude>NOTICE.txt</exclude>
diff --git a/tika-server/tika-server-core/pom.xml b/tika-server/tika-server-core/pom.xml
index fbf6626..9ab9d7c 100644
--- a/tika-server/tika-server-core/pom.xml
+++ b/tika-server/tika-server-core/pom.xml
@@ -211,6 +211,8 @@
                   <artifact>*:*</artifact>
                   <excludes>
                     <exclude>module-info.class</exclude>
+                    <exclude>META-INF/versions/9/module-info.class</exclude>
+                    <exclude>META-INF/versions/11/module-info.class</exclude>
                     <exclude>META-INF/*.SF</exclude>
                     <exclude>META-INF/*.DSA</exclude>
                     <exclude>META-INF/*.RSA</exclude>
@@ -219,7 +221,11 @@
                     <exclude>META-INF/DEPENDENCIES</exclude>
                     <exclude>META-INF/LICENSE</exclude>
                     <exclude>META-INF/NOTICE</exclude>
+                    <exclude>META-INF/LICENSE.md</exclude>
+                    <exclude>META-INF/NOTICE.md</exclude>
                     <exclude>META-INF/README</exclude>
+                    <exclude>META-INF/MANIFEST.MF</exclude>
+                    <exclude>about.html</exclude>
                     <exclude>LICENSE.txt</exclude>
                     <exclude>NOTICE.txt</exclude>
                     <exclude>CHANGES</exclude>
@@ -246,6 +252,9 @@
                   <file>target/classes/META-INF/DEPENDENCIES</file>
                 </transformer>
                 <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+                  <resource>META-INF/blueprint.handlers</resource>
+                </transformer>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                   <resource>META-INF/spring.handlers</resource>
                 </transformer>
                 <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerPipesIntegrationTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerPipesIntegrationTest.java
index 8aba852..71c9468 100644
--- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerPipesIntegrationTest.java
+++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerPipesIntegrationTest.java
@@ -98,7 +98,8 @@ public class TikaServerPipesIntegrationTest extends IntegrationTestBase {
                 "<pipes><params><tikaConfig>" +
                 ProcessUtils.escapeCommandLine(TIKA_CONFIG.toAbsolutePath().toString()) +
                 "</tikaConfig><numClients>10</numClients><forkedJvmArgs><arg>-Xmx256m" +
-                "</arg></forkedJvmArgs><timeoutMillis>5000</timeoutMillis>" +
+                "</arg>" + //TODO: need to add logging config here
+                "</forkedJvmArgs><timeoutMillis>5000</timeoutMillis>" +
                 "</params></pipes>" + "</properties>";
 
         String tikaConfigXML = xml1 + xml2;
diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java
index e4b14ec..f9f2e38 100644
--- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java
+++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java
@@ -40,7 +40,7 @@ public class TranslateResourceTest extends CXFTestBase {
     private static final String TRANSLATE_ALL_PATH = TRANSLATE_PATH + "/all";
     private static final String TRANSLATE_TXT = "This won't translate";
     private static final String LINGO_PATH =
-            "/org.apache.tika.language.translate.Lingo24Translator";
+            "/org.apache.tika.language.translate.impl.Lingo24Translator";
     private static final String SRCDEST = "/es/en";
     private static final String DEST = "/en";
 
diff --git a/tika-server/tika-server-standard/pom.xml b/tika-server/tika-server-standard/pom.xml
index e62fe32..d6b0e6a 100644
--- a/tika-server/tika-server-standard/pom.xml
+++ b/tika-server/tika-server-standard/pom.xml
@@ -104,7 +104,70 @@
               </createDependencyReducedPom>
               <artifactSet>
                 <excludes>
+                  <exclude>org.apache.tika:tika-core:jar:</exclude>
+                  <exclude>org.apache.tika:tika-translate:jar:</exclude>
                   <exclude>org.apache.tika:tika-parsers-standard-package:jar:</exclude>
+                  <exclude>org.apache.tika:tika-serialization:jar:</exclude>
+                  <exclude>org.apache.tika:tika-langdetect-optimaize:jar:</exclude>
+                  <exclude>org.apache.tika:tika-parser-html-commons:jar:</exclude>
+                  <exclude>org.apache.tika:tika-parser-digest-commons:jar:</exclude>
+                  <exclude>org.apache.tika:tika-parser-zip-commons:jar:</exclude>
+                  <exclude>commons-codec:commons-codec:jar:</exclude>
+                  <exclude>org.apache.commons:commons-compress:jar:</exclude>
+                  <exclude>org.apache.commons:commons-csv:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-core:jar:</exclude>
+                  <exclude>com.fasterxml.woodstox:woodstox-core:jar:</exclude>
+                  <exclude>org.codehaus.woodstox:stax2-api:jar:</exclude>
+                  <exclude>org.apache.ws.xmlschema:xmlschema-core:jar:</exclude>
+                  <exclude>jakarta.ws.rs:jakarta.ws.rs-api:jar:</exclude>
+                  <exclude>jakarta.annotation:jakarta.annotation-api:jar:</exclude>
+                  <exclude>org.bouncycastle:bcmail-jdk15on:jar:</exclude>
+                  <exclude>org.bouncycastle:bcutil-jdk15on:jar:</exclude>
+                  <exclude>org.bouncycastle:bcpkix-jdk15on:jar:</exclude>
+                  <exclude>org.bouncycastle:bcprov-jdk15on:jar:</exclude>
+                  <exclude>de.l3s.boilerpipe:boilerpipe:jar:</exclude>
+                  <exclude>com.optimaize.languagedetector:language-detector:jar:</exclude>
+                  <exclude>net.arnx:jsonic:jar:</exclude>
+                  <exclude>com.intellij:annotations:jar:</exclude>
+                  <exclude>com.google.guava:guava:jar:</exclude>
+                  <exclude>com.google.guava:failureaccess:jar:</exclude>
+                  <exclude>com.google.guava:listenablefuture:jar:</exclude>
+                  <exclude>com.google.code.findbugs:jsr305:jar:</exclude>
+                  <exclude>org.checkerframework:checker-qual:jar:</exclude>
+                  <exclude>com.google.errorprone:error_prone_annotations:jar:</exclude>
+                  <exclude>com.google.j2objc:j2objc-annotations:jar:</exclude>
+                  <exclude>com.memetix:microsoft-translator-java-api:jar:</exclude>
+                  <exclude>com.googlecode.json-simple:json-simple:jar:</exclude>
+                  <exclude>org.glassfish.jaxb:jaxb-runtime</exclude>
+                  <exclude>jakarta.xml.bind:jakarta.xml.bind-api:jar:</exclude>
+                  <exclude>org.glassfish.jaxb:txw2:jar:</exclude>
+                  <exclude>com.sun.istack:istack-commons-runtime:jar:</exclude>
+                  <exclude>com.sun.activation:jakarta.activation:jar:</exclude>
+                  <exclude>com.fasterxml.jackson.core:jackson-core:jar:</exclude>
+                  <exclude>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:</exclude>
+                  <exclude>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:</exclude>
+                  <exclude>com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:</exclude>
+                  <exclude>com.fasterxml.jackson.core:jackson-annotations:jar:</exclude>
+                  <exclude>com.fasterxml.jackson.core:jackson-databind:jar:</exclude>
+                  <exclude>commons-io:commons-io:jar:</exclude>
+                  <exclude>org.slf4j:jcl-over-slf4j:jar:</exclude>
+                  <exclude>org.slf4j:slf4j-api:jar:</exclude>
+                  <exclude>commons-logging:commons-logging:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-rt-rs-client:jar:</exclude>
+                  <exclude>org.apache.commons:commons-lang3:jar:</exclude>
+                  <exclude>commons-cli:commons-cli:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-rt-rs-security-cors:jar:</exclude>
+                  <exclude>org.eclipse.jetty:jetty-io:jar:</exclude>
+                  <exclude>org.eclipse.jetty:jetty-util:jar:</exclude>
+                  <exclude>org.eclipse.jetty:jetty-http:jar:</exclude>
+                  <exclude>org.eclipse.jetty:jetty-security:jar:</exclude>
+                  <exclude>org.eclipse.jetty:jetty-server:jar:</exclude>
+                  <exclude>org.eclipse.jetty:jetty-continuation:jar:</exclude>
+                  <exclude>javax.servlet:javax.servlet-api:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-rt-transports-http:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-rt-transports-http-jetty:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-rt-security:jar:</exclude>
+                  <exclude>org.apache.cxf:cxf-rt-frontend-jaxrs:jar:</exclude>
                 </excludes>
               </artifactSet>
               <filters>
@@ -112,6 +175,7 @@
                   <artifact>*:*</artifact>
                   <excludes>
                     <exclude>module-info.class</exclude>
+                    <exclude>META-INF/versions/9/module-info.class</exclude>
                     <exclude>META-INF/*.SF</exclude>
                     <exclude>META-INF/*.DSA</exclude>
                     <exclude>META-INF/*.RSA</exclude>
@@ -121,6 +185,7 @@
                     <exclude>META-INF/LICENSE</exclude>
                     <exclude>META-INF/NOTICE</exclude>
                     <exclude>META-INF/README</exclude>
+                    <exclude>META-INF/MANIFEST.MF</exclude>
                     <exclude>LICENSE.txt</exclude>
                     <exclude>NOTICE.txt</exclude>
                     <exclude>CHANGES</exclude>
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/AbstractTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/AbstractTranslator.java
similarity index 92%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/AbstractTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/AbstractTranslator.java
index da250cf..4ed9908 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/AbstractTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/AbstractTranslator.java
@@ -14,13 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import java.io.IOException;
 
 import org.apache.tika.langdetect.optimaize.OptimaizeLangDetector;
 import org.apache.tika.language.detect.LanguageDetector;
 import org.apache.tika.language.detect.LanguageResult;
+import org.apache.tika.language.translate.Translator;
 
 
 public abstract class AbstractTranslator implements Translator {
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/CachedTranslator.java
similarity index 98%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/CachedTranslator.java
index f2011be..3e20e6c 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/CachedTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/CachedTranslator.java
@@ -15,13 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import java.io.IOException;
 import java.util.HashMap;
 
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.language.detect.LanguageResult;
+import org.apache.tika.language.translate.Translator;
 
 import com.fasterxml.jackson.databind.util.LRUMap;
 
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/ExternalTranslator.java
similarity index 96%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/ExternalTranslator.java
index a84ef9e..57e6978 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/ExternalTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/ExternalTranslator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -29,7 +29,7 @@ import org.apache.tika.exception.TikaException;
 /**
  * Abstract class used to interact with command line/external Translators.
  *
- * @see org.apache.tika.language.translate.MosesTranslator for an example of extending this class.
+ * @see MosesTranslator for an example of extending this class.
  *
  * @since Tika 1.7
  */
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/GoogleTranslator.java
similarity index 98%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/GoogleTranslator.java
index 88202bb..1790f8e 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/GoogleTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/GoogleTranslator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/JoshuaNetworkTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/JoshuaNetworkTranslator.java
similarity index 98%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/JoshuaNetworkTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/JoshuaNetworkTranslator.java
index 975802f..76d5d22 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/JoshuaNetworkTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/JoshuaNetworkTranslator.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
@@ -178,7 +178,7 @@ public class JoshuaNetworkTranslator extends AbstractTranslator {
    * Make an attempt to guess the source language via
    * {@link org.apache.tika.language.translate.AbstractTranslator#detectLanguage(String)} 
    * before making the call to 
-   * {@link org.apache.tika.language.translate.JoshuaNetworkTranslator#translate(String, String, String)}
+   * {@link JoshuaNetworkTranslator#translate(String, String, String)}
    * @see org.apache.tika.language.translate.Translator#translate(java.lang.String, java.lang.String)
    */
   @Override
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/Lingo24Translator.java
similarity index 98%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/Lingo24Translator.java
index 723a047..d6d6b55 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/Lingo24Translator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/Lingo24Translator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/MicrosoftTranslator.java
similarity index 98%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/MicrosoftTranslator.java
index b05e98e..c8d92f6 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/MicrosoftTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/MicrosoftTranslator.java
@@ -15,11 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import com.memetix.mst.language.Language;
 import com.memetix.mst.translate.Translate;
 import org.apache.tika.exception.TikaException;
+import org.apache.tika.language.translate.Translator;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/MosesTranslator.java
similarity index 99%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/MosesTranslator.java
index 3521dcf..cafd725 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/MosesTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/MosesTranslator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import java.io.BufferedReader;
 import java.io.File;
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/RTGTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/RTGTranslator.java
similarity index 99%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/RTGTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/RTGTranslator.java
index 6c032a3..3ecf609 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/RTGTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/RTGTranslator.java
@@ -16,7 +16,7 @@
  */
 
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.apache.cxf.jaxrs.client.WebClient;
diff --git a/tika-translate/src/main/java/org/apache/tika/language/translate/YandexTranslator.java b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/YandexTranslator.java
similarity index 99%
rename from tika-translate/src/main/java/org/apache/tika/language/translate/YandexTranslator.java
rename to tika-translate/src/main/java/org/apache/tika/language/translate/impl/YandexTranslator.java
index 068e002..da64e4c 100644
--- a/tika-translate/src/main/java/org/apache/tika/language/translate/YandexTranslator.java
+++ b/tika-translate/src/main/java/org/apache/tika/language/translate/impl/YandexTranslator.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
diff --git a/tika-translate/src/main/resources/META-INF/services/org.apache.tika.language.translate.Translator b/tika-translate/src/main/resources/META-INF/services/org.apache.tika.language.translate.Translator
index 154beca..913dd9e 100644
--- a/tika-translate/src/main/resources/META-INF/services/org.apache.tika.language.translate.Translator
+++ b/tika-translate/src/main/resources/META-INF/services/org.apache.tika.language.translate.Translator
@@ -13,9 +13,9 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-org.apache.tika.language.translate.MicrosoftTranslator
-org.apache.tika.language.translate.GoogleTranslator
-org.apache.tika.language.translate.Lingo24Translator
-org.apache.tika.language.translate.CachedTranslator
-org.apache.tika.language.translate.JoshuaNetworkTranslator
-org.apache.tika.language.translate.RTGTranslator
+org.apache.tika.language.translate.impl.MicrosoftTranslator
+org.apache.tika.language.translate.impl.GoogleTranslator
+org.apache.tika.language.translate.impl.Lingo24Translator
+org.apache.tika.language.translate.impl.CachedTranslator
+org.apache.tika.language.translate.impl.JoshuaNetworkTranslator
+org.apache.tika.language.translate.impl.RTGTranslator
diff --git a/tika-translate/src/main/resources/org/apache/tika/language/translate/translator.google.properties b/tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.google.properties
similarity index 100%
rename from tika-translate/src/main/resources/org/apache/tika/language/translate/translator.google.properties
rename to tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.google.properties
diff --git a/tika-translate/src/main/resources/org/apache/tika/language/translate/translator.joshua.properties b/tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.joshua.properties
similarity index 100%
rename from tika-translate/src/main/resources/org/apache/tika/language/translate/translator.joshua.properties
rename to tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.joshua.properties
diff --git a/tika-translate/src/main/resources/org/apache/tika/language/translate/translator.lingo24.properties b/tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.lingo24.properties
similarity index 100%
rename from tika-translate/src/main/resources/org/apache/tika/language/translate/translator.lingo24.properties
rename to tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.lingo24.properties
diff --git a/tika-translate/src/main/resources/org/apache/tika/language/translate/translator.microsoft.properties b/tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.microsoft.properties
similarity index 100%
rename from tika-translate/src/main/resources/org/apache/tika/language/translate/translator.microsoft.properties
rename to tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.microsoft.properties
diff --git a/tika-translate/src/main/resources/org/apache/tika/language/translate/translator.moses.properties b/tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.moses.properties
similarity index 100%
rename from tika-translate/src/main/resources/org/apache/tika/language/translate/translator.moses.properties
rename to tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.moses.properties
diff --git a/tika-translate/src/main/resources/org/apache/tika/language/translate/translator.yandex.properties b/tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.yandex.properties
similarity index 100%
rename from tika-translate/src/main/resources/org/apache/tika/language/translate/translator.yandex.properties
rename to tika-translate/src/main/resources/org/apache/tika/language/translate/impl/translator.yandex.properties
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/CachedTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/CachedTranslatorTest.java
similarity index 95%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/CachedTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/CachedTranslatorTest.java
index deab406..55bac78 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/CachedTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/CachedTranslatorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -25,6 +25,9 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.apache.tika.language.translate.impl.CachedTranslator;
+import org.apache.tika.language.translate.impl.GoogleTranslator;
+
 /**
  * Test harness for the {@link CachedTranslator}. Take care to choose your target language carefully
  * if you're testing the size of the cache!
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/GoogleTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/GoogleTranslatorTest.java
similarity index 94%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/GoogleTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/GoogleTranslatorTest.java
index 2a7e527..f1b8727 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/GoogleTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/GoogleTranslatorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -23,6 +23,8 @@ import static org.junit.Assert.fail;
 
 import org.junit.Before;
 
+import org.apache.tika.language.translate.impl.GoogleTranslator;
+
 
 /**
  * Test harness for the {@link GoogleTranslator}.
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/JoshuaNetworkTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/JoshuaNetworkTranslatorTest.java
similarity index 92%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/JoshuaNetworkTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/JoshuaNetworkTranslatorTest.java
index b11cf04..f042031 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/JoshuaNetworkTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/JoshuaNetworkTranslatorTest.java
@@ -14,13 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 
+import org.apache.tika.language.translate.impl.JoshuaNetworkTranslator;
+
 public class JoshuaNetworkTranslatorTest {
 
   JoshuaNetworkTranslator translator;
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/Lingo24TranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/Lingo24TranslatorTest.java
similarity index 93%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/Lingo24TranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/Lingo24TranslatorTest.java
index 5fae36a..ec89784 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/Lingo24TranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/Lingo24TranslatorTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -22,8 +22,10 @@ import static org.junit.Assert.fail;
 
 import org.junit.Before;
 
+import org.apache.tika.language.translate.impl.Lingo24Translator;
+
 /**
- * Test harness for the {@link org.apache.tika.language.translate.Lingo24Translator}.
+ * Test harness for the {@link Lingo24Translator}.
  *
  */
 public class Lingo24TranslatorTest {
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/MicrosoftTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/MicrosoftTranslatorTest.java
similarity index 95%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/MicrosoftTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/MicrosoftTranslatorTest.java
index 45d246e..b523178 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/MicrosoftTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/MicrosoftTranslatorTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -22,6 +22,8 @@ import org.junit.Test;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import org.apache.tika.language.translate.impl.MicrosoftTranslator;
+
 /**
  * Test cases for the {@link MicrosoftTranslator} class.
  */
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/MosesTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/MosesTranslatorTest.java
similarity index 92%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/MosesTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/MosesTranslatorTest.java
index d2aec7f..7db3929 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/MosesTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/MosesTranslatorTest.java
@@ -14,13 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertTrue;
 
+import org.apache.tika.language.translate.impl.MosesTranslator;
+
 public class MosesTranslatorTest {
     MosesTranslator translator;
     @Before
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/RTGTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/RTGTranslatorTest.java
similarity index 93%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/RTGTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/RTGTranslatorTest.java
index eec853e..816f255 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/RTGTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/RTGTranslatorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -26,6 +26,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
+import org.apache.tika.language.translate.impl.RTGTranslator;
+
 
 /**
  * Test harness for the {@link RTGTranslator}.
diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/YandexTranslatorTest.java
similarity index 96%
rename from tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java
rename to tika-translate/src/test/java/org/apache/tika/language/translate/impl/YandexTranslatorTest.java
index 77cfbeb..26ea73b 100644
--- a/tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java
+++ b/tika-translate/src/test/java/org/apache/tika/language/translate/impl/YandexTranslatorTest.java
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.tika.language.translate;
+package org.apache.tika.language.translate.impl;
 
 import org.apache.tika.exception.TikaException;
+import org.apache.tika.language.translate.impl.YandexTranslator;
+
 import org.junit.Before;
 import org.junit.FixMethodOrder;
 import org.junit.Test;