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

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


The following commit(s) were added to refs/heads/main by this push:
     new e3cd0ae3ea GH-41571: [Java] Revert GH-41307 (#41309) (#41628)
e3cd0ae3ea is described below

commit e3cd0ae3ea648ce5b78a2d9c9e21c54d772cb385
Author: David Li <[email protected]>
AuthorDate: Tue May 21 19:11:52 2024 +0900

    GH-41571: [Java] Revert GH-41307 (#41309) (#41628)
    
    ### Rationale for this change
    
    The commit in question caused a lot of CI issues
    
    ### Are these changes tested?
    
    N/A
    
    ### Are there any user-facing changes?
    
    N/A
    * GitHub Issue: #41571
    
    Authored-by: David Li <[email protected]>
    Signed-off-by: David Li <[email protected]>
---
 java/adapter/avro/pom.xml                          |   9 +
 java/adapter/jdbc/pom.xml                          |   7 +
 java/adapter/orc/pom.xml                           |  17 --
 java/bom/pom.xml                                   |  21 +--
 java/c/pom.xml                                     |   1 +
 java/dataset/pom.xml                               |   2 +-
 java/flight/flight-core/pom.xml                    |  27 ++-
 java/flight/flight-integration-tests/pom.xml       |   2 +
 java/flight/flight-sql-jdbc-core/pom.xml           |  10 +
 java/flight/flight-sql-jdbc-driver/pom.xml         |   1 +
 java/flight/flight-sql/pom.xml                     |   5 +
 java/format/pom.xml                                |   2 +
 java/gandiva/pom.xml                               |  19 +-
 .../module-info-compiler-maven-plugin/pom.xml      |  28 ++-
 java/maven/pom.xml                                 |  75 +++++---
 java/memory/memory-core/pom.xml                    |  22 ++-
 java/performance/pom.xml                           |  40 ++++
 java/pom.xml                                       | 207 ++++++++++++---------
 java/tools/pom.xml                                 |  22 +--
 java/vector/pom.xml                                |  91 ++++++++-
 20 files changed, 432 insertions(+), 176 deletions(-)

diff --git a/java/adapter/avro/pom.xml b/java/adapter/avro/pom.xml
index 645e8c4ff2..9ddc150253 100644
--- a/java/adapter/avro/pom.xml
+++ b/java/adapter/avro/pom.xml
@@ -25,27 +25,36 @@
   <url>http://maven.apache.org</url>
 
   <dependencies>
+
+    <!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-core 
-->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-memory-core</artifactId>
     </dependency>
+
+    <!-- 
https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-netty -->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-memory-netty</artifactId>
       <scope>runtime</scope>
     </dependency>
+
+    <!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-vector -->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-vector</artifactId>
     </dependency>
+
     <dependency>
       <groupId>org.immutables</groupId>
       <artifactId>value</artifactId>
     </dependency>
+
     <dependency>
       <groupId>org.apache.avro</groupId>
       <artifactId>avro</artifactId>
       <version>${dep.avro.version}</version>
     </dependency>
   </dependencies>
+
 </project>
diff --git a/java/adapter/jdbc/pom.xml b/java/adapter/jdbc/pom.xml
index 33360c64b1..5f72729bb7 100644
--- a/java/adapter/jdbc/pom.xml
+++ b/java/adapter/jdbc/pom.xml
@@ -26,17 +26,20 @@
 
   <dependencies>
 
+    <!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-core 
-->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-memory-core</artifactId>
     </dependency>
 
+    <!-- 
https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-netty -->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-memory-netty</artifactId>
       <scope>runtime</scope>
     </dependency>
 
+    <!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-vector -->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-vector</artifactId>
@@ -48,6 +51,7 @@
       <artifactId>value</artifactId>
     </dependency>
 
+    <!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
     <dependency>
       <groupId>com.h2database</groupId>
       <artifactId>h2</artifactId>
@@ -90,6 +94,9 @@
       <id>jdk11+</id>
       <activation>
         <jdk>[11,]</jdk>
+        <property>
+          <name>!m2e.version</name>
+        </property>
       </activation>
       <build>
         <plugins>
diff --git a/java/adapter/orc/pom.xml b/java/adapter/orc/pom.xml
index ec6f73a3e9..f6aadca6de 100644
--- a/java/adapter/orc/pom.xml
+++ b/java/adapter/orc/pom.xml
@@ -134,22 +134,5 @@
         </includes>
       </resource>
     </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>analyze</id>
-            <configuration>
-              <ignoredDependencies combine.children="append">
-                <!-- indirect use of org.apache.arrow.flatbuf.Message in 
OrcStripeReader -->
-                
<ignoredDependency>org.apache.arrow:arrow-format</ignoredDependency>
-              </ignoredDependencies>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
   </build>
 </project>
diff --git a/java/bom/pom.xml b/java/bom/pom.xml
index 0af50c6380..12b9950ad8 100644
--- a/java/bom/pom.xml
+++ b/java/bom/pom.xml
@@ -15,7 +15,7 @@
   <parent>
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
-    <version>31</version>
+    <version>18</version>
   </parent>
 
   <groupId>org.apache.arrow</groupId>
@@ -27,19 +27,6 @@
 
   <properties>
     <arrow.vector.classifier></arrow.vector.classifier>
-    <!-- org.apache:apache overrides -->
-    <maven.compiler.source>1.8</maven.compiler.source>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.plugin.tools.version>3.11.0</maven.plugin.tools.version>
-    <surefire.version>3.2.5</surefire.version>
-    <version.apache-rat-plugin>0.16.1</version.apache-rat-plugin>
-    <version.maven-assembly-plugin>3.7.1</version.maven-assembly-plugin>
-    <version.maven-compiler-plugin>3.12.1</version.maven-compiler-plugin>
-    <version.maven-dependency-plugin>3.6.1</version.maven-dependency-plugin>
-    <version.maven-gpg-plugin>3.2.0</version.maven-gpg-plugin>
-    <version.maven-jar-plugin>3.2.2</version.maven-jar-plugin>
-    <version.maven-javadoc-plugin>3.6.3</version.maven-javadoc-plugin>
-    
<version.maven-project-info-reports-plugin>3.5.0</version.maven-project-info-reports-plugin>
   </properties>
 
   <dependencyManagement>
@@ -151,9 +138,11 @@
         <version>${project.version}</version>
       </dependency>
     </dependencies>
+
   </dependencyManagement>
 
   <build>
+
     <pluginManagement>
       <plugins>
         <plugin>
@@ -167,10 +156,12 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>3.5.0</version>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
+        <version>3.12.1</version>
       </plugin>
       <plugin>
         <groupId>com.diffplug.spotless</groupId>
@@ -197,10 +188,12 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>3.5.0</version>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
+        <version>3.12.1</version>
       </plugin>
     </plugins>
   </reporting>
diff --git a/java/c/pom.xml b/java/c/pom.xml
index 43a62a8303..1095e99bbd 100644
--- a/java/c/pom.xml
+++ b/java/c/pom.xml
@@ -83,4 +83,5 @@
       </resource>
     </resources>
   </build>
+
 </project>
diff --git a/java/dataset/pom.xml b/java/dataset/pom.xml
index 2121119af3..dd0c76523d 100644
--- a/java/dataset/pom.xml
+++ b/java/dataset/pom.xml
@@ -201,7 +201,7 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
-              <argLine 
combine.self="override">--add-reads=org.apache.arrow.dataset=com.fasterxml.jackson.databind
 
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED</argLine>
+              <argLine 
combine.self="override">--add-reads=org.apache.arrow.dataset=com.fasterxml.jackson.databind
 
--add-opens=java.base/java.nio=org.apache.arrow.dataset,org.apache.arrow.memory.core,ALL-UNNAMED</argLine>
             </configuration>
           </plugin>
         </plugins>
diff --git a/java/flight/flight-core/pom.xml b/java/flight/flight-core/pom.xml
index 4c1002ae75..9832850108 100644
--- a/java/flight/flight-core/pom.xml
+++ b/java/flight/flight-core/pom.xml
@@ -15,6 +15,7 @@
     <groupId>org.apache.arrow</groupId>
     <artifactId>arrow-flight</artifactId>
     <version>17.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <artifactId>flight-core</artifactId>
@@ -150,6 +151,13 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
+        <!--
+          Downgrade maven-shade-plugin specifically for this module.
+          Using a newer version up to at least 3.5.1 will cause
+          issues in the arrow-tools tests looking up FlatBuffer
+          dependencies.
+         -->
+        <version>3.2.4</version>
         <executions>
           <execution>
             <id>shade-main</id>
@@ -236,6 +244,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-dependency-plugin</artifactId>
+        <version>3.3.0</version>
         <executions>
           <execution>
             <id>analyze</id>
@@ -255,6 +264,7 @@
         <!-- add generated sources to classpath -->
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
+        <version>1.9.1</version>
         <executions>
           <execution>
             <id>add-generated-sources-to-classpath</id>
@@ -272,6 +282,7 @@
       </plugin>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.7.1</version>
         <configuration>
           <descriptorRefs>
             <descriptorRef>jar-with-dependencies</descriptorRef>
@@ -288,6 +299,13 @@
         </executions>
       </plugin>
     </plugins>
+    <extensions>
+      <extension>
+        <groupId>kr.motd.maven</groupId>
+        <artifactId>os-maven-plugin</artifactId>
+        <version>1.7.1</version>
+      </extension>
+    </extensions>
   </build>
 
   <profiles>
@@ -295,14 +313,18 @@
       <id>jdk11+</id>
       <activation>
         <jdk>[11,]</jdk>
+        <property>
+          <name>!m2e.version</name>
+        </property>
       </activation>
       <build>
         <plugins>
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine 
combine.self="override">--add-opens=org.apache.arrow.flight.core/org.apache.arrow.flight.perf.impl=protobuf.java
 
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED</argLine>
+            <configuration combine.self="override">
+              
<argLine>--add-opens=org.apache.arrow.flight.core/org.apache.arrow.flight.perf.impl=protobuf.java
 
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED</argLine>
+              <enableAssertions>false</enableAssertions>
               <systemPropertyVariables>
                 
<arrow.test.dataRoot>${project.basedir}/../../../testing/data</arrow.test.dataRoot>
               </systemPropertyVariables>
@@ -312,4 +334,5 @@
       </build>
     </profile>
   </profiles>
+
 </project>
diff --git a/java/flight/flight-integration-tests/pom.xml 
b/java/flight/flight-integration-tests/pom.xml
index cd2c28ba89..74016d81e9 100644
--- a/java/flight/flight-integration-tests/pom.xml
+++ b/java/flight/flight-integration-tests/pom.xml
@@ -15,6 +15,7 @@
     <groupId>org.apache.arrow</groupId>
     <artifactId>arrow-flight</artifactId>
     <version>17.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <artifactId>flight-integration-tests</artifactId>
@@ -62,6 +63,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.7.1</version>
         <configuration>
           <descriptorRefs>
             <descriptorRef>jar-with-dependencies</descriptorRef>
diff --git a/java/flight/flight-sql-jdbc-core/pom.xml 
b/java/flight/flight-sql-jdbc-core/pom.xml
index ef3f2469b7..fbab69df3b 100644
--- a/java/flight/flight-sql-jdbc-core/pom.xml
+++ b/java/flight/flight-sql-jdbc-core/pom.xml
@@ -15,6 +15,7 @@
     <groupId>org.apache.arrow</groupId>
     <artifactId>arrow-flight</artifactId>
     <version>17.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <artifactId>flight-sql-jdbc-core</artifactId>
@@ -46,17 +47,20 @@
       </exclusions>
     </dependency>
 
+    <!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-core 
-->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-memory-core</artifactId>
     </dependency>
 
+    <!-- 
https://mvnrepository.com/artifact/org.apache.arrow/arrow-memory-netty -->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-memory-netty</artifactId>
       <scope>runtime</scope>
     </dependency>
 
+    <!-- https://mvnrepository.com/artifact/org.apache.arrow/arrow-vector -->
     <dependency>
       <groupId>org.apache.arrow</groupId>
       <artifactId>arrow-vector</artifactId>
@@ -132,6 +136,11 @@
   </dependencies>
 
   <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+      </resource>
+    </resources>
     <plugins>
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
@@ -145,6 +154,7 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>properties-maven-plugin</artifactId>
+        <version>1.2.1</version>
         <executions>
           <execution>
             <id>write-project-properties-to-file</id>
diff --git a/java/flight/flight-sql-jdbc-driver/pom.xml 
b/java/flight/flight-sql-jdbc-driver/pom.xml
index 4456270e7b..b3afbe1def 100644
--- a/java/flight/flight-sql-jdbc-driver/pom.xml
+++ b/java/flight/flight-sql-jdbc-driver/pom.xml
@@ -15,6 +15,7 @@
     <groupId>org.apache.arrow</groupId>
     <artifactId>arrow-flight</artifactId>
     <version>17.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <artifactId>flight-sql-jdbc-driver</artifactId>
diff --git a/java/flight/flight-sql/pom.xml b/java/flight/flight-sql/pom.xml
index f5926d6e68..d5366ae988 100644
--- a/java/flight/flight-sql/pom.xml
+++ b/java/flight/flight-sql/pom.xml
@@ -15,6 +15,7 @@
     <groupId>org.apache.arrow</groupId>
     <artifactId>arrow-flight</artifactId>
     <version>17.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
   </parent>
 
   <artifactId>flight-sql</artifactId>
@@ -118,6 +119,9 @@
       <id>jdk11+</id>
       <activation>
         <jdk>[11,]</jdk>
+        <property>
+          <name>!m2e.version</name>
+        </property>
       </activation>
       <build>
         <plugins>
@@ -132,4 +136,5 @@
       </build>
     </profile>
   </profiles>
+
 </project>
diff --git a/java/format/pom.xml b/java/format/pom.xml
index 4483047e20..e9eded79de 100644
--- a/java/format/pom.xml
+++ b/java/format/pom.xml
@@ -31,6 +31,7 @@
   </dependencies>
 
   <build>
+
     <plugins>
       <plugin>
         <!-- no checkstyle on the generated code -->
@@ -41,5 +42,6 @@
         </configuration>
       </plugin>
     </plugins>
+
   </build>
 </project>
diff --git a/java/gandiva/pom.xml b/java/gandiva/pom.xml
index c5703c62df..00acb89f1d 100644
--- a/java/gandiva/pom.xml
+++ b/java/gandiva/pom.xml
@@ -22,12 +22,13 @@
   <packaging>jar</packaging>
   <name>Arrow Gandiva</name>
   <description>Java wrappers around the native Gandiva SQL expression 
compiler.</description>
-
   <properties>
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target>
+    <protobuf.version>3.25.1</protobuf.version>
     <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
     <arrow.cpp.build.dir>../../../cpp/release-build</arrow.cpp.build.dir>
   </properties>
-
   <dependencies>
     <dependency>
       <groupId>org.apache.arrow</groupId>
@@ -50,6 +51,7 @@
     <dependency>
       <groupId>com.google.protobuf</groupId>
       <artifactId>protobuf-java</artifactId>
+      <version>${protobuf.version}</version>
     </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
@@ -60,7 +62,6 @@
       <artifactId>slf4j-api</artifactId>
     </dependency>
   </dependencies>
-
   <build>
     <resources>
       <resource>
@@ -87,6 +88,14 @@
         </executions>
       </plugin>
     </plugins>
+
+    <extensions>
+      <extension>
+        <groupId>kr.motd.maven</groupId>
+        <artifactId>os-maven-plugin</artifactId>
+        <version>1.7.1</version>
+      </extension>
+    </extensions>
   </build>
   <profiles>
     <profile>
@@ -96,6 +105,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-source-plugin</artifactId>
+            <version>2.2.1</version>
             <executions>
               <execution>
                 <id>attach-sources</id>
@@ -108,6 +118,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-javadoc-plugin</artifactId>
+            <version>3.6.3</version>
             <executions>
               <execution>
                 <id>attach-javadocs</id>
@@ -120,6 +131,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-gpg-plugin</artifactId>
+            <version>3.2.2</version>
             <executions>
               <execution>
                 <id>sign-artifacts</id>
@@ -134,4 +146,5 @@
       </build>
     </profile>
   </profiles>
+
 </project>
diff --git a/java/maven/module-info-compiler-maven-plugin/pom.xml 
b/java/maven/module-info-compiler-maven-plugin/pom.xml
index 5909b6b348..6589020d6e 100644
--- a/java/maven/module-info-compiler-maven-plugin/pom.xml
+++ b/java/maven/module-info-compiler-maven-plugin/pom.xml
@@ -64,14 +64,39 @@
     <dependency>
       <groupId>org.apache.maven.plugin-tools</groupId>
       <artifactId>maven-plugin-annotations</artifactId>
-      <version>${maven.plugin.tools.version}</version>
+      <version>3.11.0</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
 
   <build>
     <pluginManagement>
+      <!-- lock down plugins versions to avoid using Maven defaults (may be 
moved to parent pom) -->
       <plugins>
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>3.3.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-plugin-plugin</artifactId>
+          <version>3.12.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>3.3.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>3.1.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>3.1.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-invoker-plugin</artifactId>
+          <version>3.1.0</version>
+        </plugin>
         <plugin>
           <groupId>com.gradle</groupId>
           <artifactId>gradle-enterprise-maven-extension</artifactId>
@@ -93,6 +118,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-plugin-plugin</artifactId>
+        <version>3.12.0</version>
         <configuration>
           <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
         </configuration>
diff --git a/java/maven/pom.xml b/java/maven/pom.xml
index 558532012a..f290ded2e2 100644
--- a/java/maven/pom.xml
+++ b/java/maven/pom.xml
@@ -15,13 +15,6 @@
     Note: Do not inherit from the Arrow parent POM as plugins can be referenced
     during the parent POM, introducing circular dependencies.
   -->
-  <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>31</version>
-    <relativePath></relativePath>
-  </parent>
-
   <groupId>org.apache.arrow.maven.plugins</groupId>
   <artifactId>arrow-maven-plugins</artifactId>
   <version>17.0.0-SNAPSHOT</version>
@@ -34,38 +27,25 @@
 
   <properties>
     <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
-    <!-- org.apache:apache overrides -->
-    <maven.compiler.source>1.8</maven.compiler.source>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.plugin.tools.version>3.12.0</maven.plugin.tools.version>
-    <surefire.version>3.2.5</surefire.version>
-    <version.apache-rat-plugin>0.16.1</version.apache-rat-plugin>
-    <version.maven-assembly-plugin>3.7.1</version.maven-assembly-plugin>
-    <version.maven-compiler-plugin>3.12.1</version.maven-compiler-plugin>
-    <version.maven-dependency-plugin>3.6.1</version.maven-dependency-plugin>
-    <version.maven-gpg-plugin>3.2.0</version.maven-gpg-plugin>
-    <version.maven-jar-plugin>3.2.2</version.maven-jar-plugin>
-    <version.maven-javadoc-plugin>3.6.3</version.maven-javadoc-plugin>
-    
<version.maven-project-info-reports-plugin>3.5.0</version.maven-project-info-reports-plugin>
   </properties>
 
   <build>
     <pluginManagement>
       <plugins>
         <plugin>
-          <groupId>com.diffplug.spotless</groupId>
-          <artifactId>spotless-maven-plugin</artifactId>
-          <version>2.30.0</version>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-project-info-reports-plugin</artifactId>
+          <version>3.5.0</version>
         </plugin>
         <plugin>
-          <groupId>pl.project13.maven</groupId>
-          <artifactId>git-commit-id-plugin</artifactId>
-          <version>4.0.5</version>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>3.12.1</version>
         </plugin>
         <plugin>
-          <groupId>org.cyclonedx</groupId>
-          <artifactId>cyclonedx-maven-plugin</artifactId>
-          <version>2.8.0</version>
+          <groupId>com.diffplug.spotless</groupId>
+          <artifactId>spotless-maven-plugin</artifactId>
+          <version>2.30.0</version>
         </plugin>
       </plugins>
     </pluginManagement>
@@ -139,6 +119,11 @@
             <exclude>**/logback.xml</exclude>
           </excludes>
           <archive>
+            <index>true</index>
+            <manifest>
+              
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
             <manifestEntries>
               <Extension-Name>org.apache.arrow</Extension-Name>
               <Built-By>${username}</Built-By>
@@ -158,17 +143,43 @@
         </executions>
       </plugin>
 
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <configuration>
+          <encoding>UTF-8</encoding>
+        </configuration>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
+          <encoding>UTF-8</encoding>
+          <source>1.8</source>
+          <target>1.8</target>
           <maxmem>2048m</maxmem>
+          <useIncrementalCompilation>false</useIncrementalCompilation>
           <fork>true</fork>
         </configuration>
       </plugin>
       <plugin>
         <artifactId>maven-enforcer-plugin</artifactId>
         <executions>
+          <execution>
+            <id>validate_java_and_maven_version</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <phase>verify</phase>
+            <inherited>false</inherited>
+            <configuration>
+              <rules>
+                <requireMavenVersion>
+                  <version>[3.3.0,4)</version>
+                </requireMavenVersion>
+              </rules>
+            </configuration>
+          </execution>
           <execution>
             <id>avoid_bad_dependencies</id>
             <goals>
@@ -194,6 +205,8 @@
       <plugin>
         <groupId>pl.project13.maven</groupId>
         <artifactId>git-commit-id-plugin</artifactId>
+        <version>4.0.5</version>
+
         <configuration>
           <dateFormat>dd.MM.yyyy '@' HH:mm:ss z</dateFormat>
           <verbose>false</verbose>
@@ -235,6 +248,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>3.1.0</version>
         <configuration>
           <configLocation>../dev/checkstyle/checkstyle.xml</configLocation>
           <headerLocation>../dev/checkstyle/checkstyle.license</headerLocation>
@@ -274,6 +288,7 @@
       <plugin>
         <groupId>org.cyclonedx</groupId>
         <artifactId>cyclonedx-maven-plugin</artifactId>
+        <version>2.7.11</version>
         <executions>
           <execution>
             <goals>
@@ -338,10 +353,12 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>3.5.0</version>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
+        <version>3.12.1</version>
       </plugin>
     </plugins>
   </reporting>
diff --git a/java/memory/memory-core/pom.xml b/java/memory/memory-core/pom.xml
index 8e39ae43d1..ca5bc603bd 100644
--- a/java/memory/memory-core/pom.xml
+++ b/java/memory/memory-core/pom.xml
@@ -61,6 +61,9 @@
       <id>jdk11+</id>
       <activation>
         <jdk>[11,]</jdk>
+        <property>
+          <name>!m2e.version</name>
+        </property>
       </activation>
       <build>
         <plugins>
@@ -89,6 +92,7 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
+
             <executions>
               <execution>
                 <id>opens-tests</id>
@@ -97,9 +101,12 @@
                 </goals>
                 <phase>test</phase>
                 <configuration>
-                  <!-- Do not inherit the default add-opens flag and excludes 
-->
-                  <argLine combine.self="override"></argLine>
-                  <excludes combine.self="override"></excludes>
+                  <!-- Dummy value to stop inheriting the default add-opens 
flag -->
+                  <argLine>-Dfoo=bar</argLine>
+                  <excludes>
+                    <!-- Need something (anything) here to make Maven not 
inherit the value above -->
+                    <exclude>**/TestArrowBuf.java</exclude>
+                  </excludes>
                   <includes>
                     <include>**/TestOpens.java</include>
                   </includes>
@@ -122,6 +129,9 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
+              <source>8</source>
+              <target>8</target>
+              <encoding>UTF-8</encoding>
               <compilerArgs combine.children="append">
                 <arg>-Xmaxerrs</arg>
                 <!-- javac only reports the first 100 errors or warnings -->
@@ -140,6 +150,12 @@
                   <version>${checker.framework.version}</version>
                 </path>
               </annotationProcessorPaths>
+              <annotationProcessors>
+                <!-- To support @Value.Immutable processors -->
+                
<annotationProcessor>org.immutables.value.internal.$processor$.$Processor</annotationProcessor>
+                <!-- Add all the checkers you want to enable here -->
+                
<annotationProcessor>org.checkerframework.checker.nullness.NullnessChecker</annotationProcessor>
+              </annotationProcessors>
             </configuration>
           </plugin>
         </plugins>
diff --git a/java/performance/pom.xml b/java/performance/pom.xml
index e9023ece08..765b6a58cd 100644
--- a/java/performance/pom.xml
+++ b/java/performance/pom.xml
@@ -22,7 +22,9 @@
   <description>JMH Performance benchmarks for other Arrow 
libraries.</description>
 
   <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <jmh.version>1.37</jmh.version>
+    <javac.target>1.8</javac.target>
     <uberjar.name>benchmarks</uberjar.name>
     <skip.perf.benchmarks>true</skip.perf.benchmarks>
     <benchmark.filter>.*</benchmark.filter>
@@ -81,6 +83,42 @@
   </dependencies>
 
   <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>3.3.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>3.1.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>3.1.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>3.3.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.6.3</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.3.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-source-plugin</artifactId>
+          <version>2.2.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>3.2.5</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -128,6 +166,7 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>exec-maven-plugin</artifactId>
+        <version>3.2.0</version>
         <configuration>
           <skip>${skip.perf.benchmarks}</skip>
           <classpathScope>test</classpathScope>
@@ -164,4 +203,5 @@
       </plugin>
     </plugins>
   </build>
+
 </project>
diff --git a/java/pom.xml b/java/pom.xml
index f3639858d7..16564ae828 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -15,7 +15,7 @@
   <parent>
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
-    <version>31</version>
+    <version>18</version>
   </parent>
 
   <groupId>org.apache.arrow</groupId>
@@ -85,7 +85,7 @@
     <dep.guava-bom.version>33.0.0-jre</dep.guava-bom.version>
     <dep.netty-bom.version>4.1.108.Final</dep.netty-bom.version>
     <dep.grpc-bom.version>1.63.0</dep.grpc-bom.version>
-    <dep.protobuf-bom.version>3.25.1</dep.protobuf-bom.version>
+    <dep.protobuf-bom.version>3.23.1</dep.protobuf-bom.version>
     <dep.jackson-bom.version>2.17.0</dep.jackson-bom.version>
     <dep.hadoop.version>3.4.0</dep.hadoop.version>
     <dep.fbs.version>23.5.26</dep.fbs.version>
@@ -95,28 +95,10 @@
     <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
     <errorprone.javac.version>9+181-r4173-1</errorprone.javac.version>
     <error_prone_core.version>2.24.0</error_prone_core.version>
+    <maven-compiler-plugin.version>3.12.1</maven-compiler-plugin.version>
     <mockito.core.version>5.11.0</mockito.core.version>
     <mockito.inline.version>5.2.0</mockito.inline.version>
     <checker.framework.version>3.42.0</checker.framework.version>
-    <doclint>none</doclint>
-    <additionalparam>-Xdoclint:none</additionalparam>
-    <!-- org.apache:apache overrides -->
-    <maven.compiler.source>1.8</maven.compiler.source>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.plugin.tools.version>3.11.0</maven.plugin.tools.version>
-    <surefire.version>3.2.5</surefire.version>
-    <version.apache-rat-plugin>0.16.1</version.apache-rat-plugin>
-    <version.maven-assembly-plugin>3.7.1</version.maven-assembly-plugin>
-    <version.maven-compiler-plugin>3.12.1</version.maven-compiler-plugin>
-    <version.maven-dependency-plugin>3.6.1</version.maven-dependency-plugin>
-    <version.maven-gpg-plugin>3.2.0</version.maven-gpg-plugin>
-    <!--
-      Downgrade maven-jar-plugin until 
https://github.com/codehaus-plexus/plexus-archiver/issues/332
-      is addressed
-    -->
-    <version.maven-jar-plugin>3.2.2</version.maven-jar-plugin>
-    <version.maven-javadoc-plugin>3.6.3</version.maven-javadoc-plugin>
-    
<version.maven-project-info-reports-plugin>3.5.0</version.maven-project-info-reports-plugin>
   </properties>
 
   <dependencyManagement>
@@ -286,16 +268,40 @@
       <version>8.3.0</version>
       <scope>test</scope>
     </dependency>
+
   </dependencies>
 
+  <repositories></repositories>
+
   <build>
+
     <pluginManagement>
       <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <!--
+            This appears to report a false positive with versions
+            greater than 3.1.2 (tested up to 3.6.0) when compiling
+            arrow-tools about Jackson being only used for tests.
+          -->
+          <version>3.1.2</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.rat</groupId>
+          <artifactId>apache-rat-plugin</artifactId>
+          <version>0.16.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.3.1</version>
+        </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
+          <version>${maven-compiler-plugin.version}</version>
           <configuration>
-            <fork>true</fork>
             <excludes>**/module-info.java</excludes>
             <testExcludes>**/module-info.java</testExcludes>
             <useModulePath>false</useModulePath>
@@ -308,8 +314,18 @@
             </annotationProcessorPaths>
           </configuration>
         </plugin>
+        <plugin>
+          <artifactId>maven-enforcer-plugin</artifactId>
+          <version>3.4.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-shade-plugin</artifactId>
+          <version>3.5.1</version>
+        </plugin>
         <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
+          <version>3.2.5</version>
           <configuration>
             <enableAssertions>true</enableAssertions>
             <childDelegation>true</childDelegation>
@@ -324,9 +340,22 @@
               
<arrow.vector.max_allocation_bytes>1048576</arrow.vector.max_allocation_bytes>
             </systemPropertyVariables>
           </configuration>
+          <dependencies>
+            <dependency>
+              <groupId>org.junit.jupiter</groupId>
+              <artifactId>junit-jupiter-engine</artifactId>
+              <version>${dep.junit.jupiter.version}</version>
+            </dependency>
+            <dependency>
+              <groupId>org.apache.maven.surefire</groupId>
+              <artifactId>surefire-junit-platform</artifactId>
+              <version>3.2.5</version>
+            </dependency>
+          </dependencies>
         </plugin>
         <plugin>
           <artifactId>maven-failsafe-plugin</artifactId>
+          <version>3.2.5</version>
           <configuration>
             <systemPropertyVariables>
               <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
@@ -415,22 +444,6 @@
                     <ignore></ignore>
                   </action>
                 </pluginExecution>
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>org.apache.drill.tools</groupId>
-                    <artifactId>drill-fmpp-maven-plugin</artifactId>
-                    <versionRange>[1.0,)</versionRange>
-                    <goals>
-                      <goal>generate</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <execute>
-                      <runOnIncremental>false</runOnIncremental>
-                      <runOnConfiguration>true</runOnConfiguration>
-                    </execute>
-                  </action>
-                </pluginExecution>
               </pluginExecutions>
             </lifecycleMappingMetadata>
           </configuration>
@@ -438,7 +451,9 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.6.3</version>
           <configuration>
+            <source>8</source>
             <sourceFileExcludes>
               <sourceFileExclude>**/module-info.java</sourceFileExclude>
             </sourceFileExcludes>
@@ -449,6 +464,16 @@
           <artifactId>module-info-compiler-maven-plugin</artifactId>
           <version>${project.version}</version>
         </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-project-info-reports-plugin</artifactId>
+          <version>3.5.0</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>3.12.1</version>
+        </plugin>
         <plugin>
           <groupId>com.gradle</groupId>
           <artifactId>gradle-enterprise-maven-extension</artifactId>
@@ -496,36 +521,6 @@
           <artifactId>spotless-maven-plugin</artifactId>
           <version>2.30.0</version>
         </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>build-helper-maven-plugin</artifactId>
-          <version>1.9.1</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>properties-maven-plugin</artifactId>
-          <version>1.2.1</version>
-        </plugin>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>exec-maven-plugin</artifactId>
-          <version>3.2.0</version>
-        </plugin>
-        <plugin>
-          <groupId>pl.project13.maven</groupId>
-          <artifactId>git-commit-id-plugin</artifactId>
-          <version>4.0.5</version>
-        </plugin>
-        <plugin>
-          <groupId>org.cyclonedx</groupId>
-          <artifactId>cyclonedx-maven-plugin</artifactId>
-          <version>2.8.0</version>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.drill.tools</groupId>
-          <artifactId>drill-fmpp-maven-plugin</artifactId>
-          <version>1.21.1</version>
-        </plugin>
       </plugins>
     </pluginManagement>
 
@@ -599,6 +594,11 @@
             <exclude>**/logback.xml</exclude>
           </excludes>
           <archive>
+            <index>true</index>
+            <manifest>
+              
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
             <manifestEntries>
               <Extension-Name>org.apache.arrow</Extension-Name>
               <Built-By>${username}</Built-By>
@@ -618,17 +618,42 @@
         </executions>
       </plugin>
 
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <configuration>
+          <encoding>UTF-8</encoding>
+        </configuration>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-compiler-plugin</artifactId>
         <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
           <maxmem>2048m</maxmem>
+          <useIncrementalCompilation>false</useIncrementalCompilation>
           <fork>true</fork>
         </configuration>
       </plugin>
       <plugin>
         <artifactId>maven-enforcer-plugin</artifactId>
         <executions>
+          <execution>
+            <id>validate_java_and_maven_version</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <phase>verify</phase>
+            <inherited>false</inherited>
+            <configuration>
+              <rules>
+                <requireMavenVersion>
+                  <version>[3.3.0,4)</version>
+                </requireMavenVersion>
+              </rules>
+            </configuration>
+          </execution>
           <execution>
             <id>avoid_bad_dependencies</id>
             <goals>
@@ -654,6 +679,8 @@
       <plugin>
         <groupId>pl.project13.maven</groupId>
         <artifactId>git-commit-id-plugin</artifactId>
+        <version>4.0.5</version>
+
         <configuration>
           <dateFormat>dd.MM.yyyy '@' HH:mm:ss z</dateFormat>
           <verbose>false</verbose>
@@ -695,6 +722,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>3.1.0</version>
         <configuration>
           <excludes>**/module-info.java</excludes>
           <configLocation>dev/checkstyle/checkstyle.xml</configLocation>
@@ -758,6 +786,7 @@
       <plugin>
         <groupId>org.cyclonedx</groupId>
         <artifactId>cyclonedx-maven-plugin</artifactId>
+        <version>2.7.11</version>
         <executions>
           <execution>
             <goals>
@@ -788,10 +817,12 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>3.5.0</version>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
+        <version>3.12.1</version>
       </plugin>
       <plugin>
         <groupId>com.diffplug.spotless</groupId>
@@ -826,6 +857,7 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
+        <version>3.6.3</version>
         <configuration>
           <sourceFileExcludes>
             <sourceFileExclude>**/module-info.java</sourceFileExclude>
@@ -853,15 +885,28 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>3.5.0</version>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
+        <version>3.12.1</version>
       </plugin>
     </plugins>
   </reporting>
 
   <profiles>
+    <profile>
+      <id>java-nodoclint</id>
+      <activation>
+        <jdk>[1.8,)</jdk>
+      </activation>
+      <properties>
+        <doclint>none</doclint>
+        <additionalparam>-Xdoclint:none</additionalparam>
+      </properties>
+    </profile>
+
     <profile>
       <!-- C data interface depends on building a native library -->
       <id>arrow-c-data</id>
@@ -909,6 +954,7 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
+              <fork>true</fork>
               <compilerArgs combine.children="append">
                 <arg>-XDcompilePolicy=simple</arg>
                 <arg>-Xplugin:ErrorProne</arg>
@@ -941,6 +987,9 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
+              <source>8</source>
+              <target>8</target>
+              <encoding>UTF-8</encoding>
               <compilerArgs combine.children="append">
                 <arg>-XDcompilePolicy=simple</arg>
                 <arg>-Xplugin:ErrorProne 
-XepExcludedPaths:.*/(target/generated-sources)/.*</arg>
@@ -964,16 +1013,6 @@
               </annotationProcessorPaths>
             </configuration>
           </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>jdk11+</id>
-      <activation>
-        <jdk>[11,]</jdk>
-      </activation>
-      <build>
-        <plugins>
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-surefire-plugin</artifactId>
@@ -981,13 +1020,6 @@
               
<argLine>--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED</argLine>
             </configuration>
           </plugin>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-failsafe-plugin</artifactId>
-            <configuration>
-              
<argLine>--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED</argLine>
-            </configuration>
-          </plugin>
         </plugins>
       </build>
     </profile>
@@ -1028,6 +1060,7 @@
           <plugin>
             <groupId>org.jacoco</groupId>
             <artifactId>jacoco-maven-plugin</artifactId>
+            <version>0.8.11</version>
             <reportSets>
               <reportSet>
                 <!-- don't run aggregate in child modules -->
@@ -1073,6 +1106,7 @@
           <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>exec-maven-plugin</artifactId>
+            <version>3.2.0</version>
             <executions>
               <execution>
                 <id>cdata-cmake</id>
@@ -1129,6 +1163,7 @@
           <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>exec-maven-plugin</artifactId>
+            <version>3.2.0</version>
             <executions>
               <execution>
                 <id>jni-cpp-cmake</id>
@@ -1235,6 +1270,7 @@
           <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>exec-maven-plugin</artifactId>
+            <version>3.2.0</version>
             <executions>
               <execution>
                 <id>jni-cpp-cmake</id>
@@ -1324,4 +1360,5 @@
       </build>
     </profile>
   </profiles>
+
 </project>
diff --git a/java/tools/pom.xml b/java/tools/pom.xml
index 58b790c9f0..b1507cd301 100644
--- a/java/tools/pom.xml
+++ b/java/tools/pom.xml
@@ -54,11 +54,6 @@
       <version>1.3.14</version>
       <scope>test</scope>
     </dependency>
-    <!--
-        Adding jackson as a compile dependency although only directly used in 
tests.
-        Using <scope>test</scope> however would cause the final scope to be 
test instead of
-        compile because of MNG-4156
-    -->
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
@@ -90,6 +85,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-assembly-plugin</artifactId>
+        <version>3.7.1</version>
         <configuration>
           <descriptorRefs>
             <descriptorRef>jar-with-dependencies</descriptorRef>
@@ -105,21 +101,7 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>analyze</id>
-            <phase>verify</phase>
-            <configuration>
-              <ignoredNonTestScopedDependencies>
-                
<ignoredNonTestScopedDependency>com.fasterxml.jackson.core:*</ignoredNonTestScopedDependency>
-              </ignoredNonTestScopedDependencies>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
+
 </project>
diff --git a/java/vector/pom.xml b/java/vector/pom.xml
index ca932ae6f2..07af93a499 100644
--- a/java/vector/pom.xml
+++ b/java/vector/pom.xml
@@ -76,7 +76,64 @@
     </dependency>
   </dependencies>
 
+  <pluginRepositories>
+    <pluginRepository>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <id>apache</id>
+      <name>apache</name>
+      <url>https://repo.maven.apache.org/maven2/</url>
+    </pluginRepository>
+  </pluginRepositories>
+
   <build>
+
+    <resources>
+      <resource>
+        <targetPath>codegen</targetPath>
+        <!-- Copy freemarker template and fmpp configuration files of Vector's
+          to allow clients to leverage definitions. -->
+        <directory>${basedir}/src/main/codegen</directory>
+      </resource>
+    </resources>
+    <pluginManagement>
+      <plugins>
+        <!--This plugin's configuration is used to store Eclipse m2e settings
+          only. It has no influence on the Maven build itself. -->
+        <plugin>
+          <groupId>org.eclipse.m2e</groupId>
+          <artifactId>lifecycle-mapping</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <lifecycleMappingMetadata>
+              <pluginExecutions>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.apache.drill.tools</groupId>
+                    <artifactId>drill-fmpp-maven-plugin</artifactId>
+                    <versionRange>[1.0,)</versionRange>
+                    <goals>
+                      <goal>generate</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <execute>
+                      <runOnIncremental>false</runOnIncremental>
+                      <runOnConfiguration>true</runOnConfiguration>
+                    </execute>
+                  </action>
+                </pluginExecution>
+              </pluginExecutions>
+            </lifecycleMappingMetadata>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -106,10 +163,33 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <!-- copy all templates in the same location to compile them at 
once -->
+            <id>copy-fmpp-resources</id>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <phase>initialize</phase>
+            <configuration>
+              
<outputDirectory>${project.build.directory}/codegen</outputDirectory>
+              <resources>
+                <resource>
+                  <directory>src/main/codegen</directory>
+                  <filtering>false</filtering>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <!-- generate sources from fmpp -->
         <groupId>org.apache.drill.tools</groupId>
         <artifactId>drill-fmpp-maven-plugin</artifactId>
+        <version>1.21.1</version>
         <executions>
           <execution>
             <id>generate-fmpp</id>
@@ -120,7 +200,7 @@
             <configuration>
               <config>src/main/codegen/config.fmpp</config>
               <output>${project.build.directory}/generated-sources</output>
-              <templates>src/main/codegen/templates</templates>
+              
<templates>${project.build.directory}/codegen/templates</templates>
             </configuration>
           </execution>
         </executions>
@@ -128,6 +208,13 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
+        <!--
+          Downgrade maven-shade-plugin specifically for this module.
+          Using a newer version up to at least 3.5.1 will cause
+          issues in the arrow-tools tests looking up FlatBuffer
+          dependencies.
+         -->
+        <version>3.2.4</version>
         <executions>
           <execution>
             <goals>
@@ -156,6 +243,7 @@
         </executions>
       </plugin>
     </plugins>
+
   </build>
 
   <profiles>
@@ -188,4 +276,5 @@
       </build>
     </profile>
   </profiles>
+
 </project>

Reply via email to