diff --git a/.env b/.env
index 6746892fd4e..3682e43fa2c 100644
--- a/.env
+++ b/.env
@@ -65,7 +65,7 @@ JDK=8
KARTOTHEK=latest
# LLVM 12 and GCC 11 reports -Wmismatched-new-delete.
LLVM=14
-MAVEN=3.5.4
+MAVEN=3.9.6
NODE=18
NUMBA=latest
NUMPY=latest
diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml
index ee4c1b21c37..48b48a815f9 100644
--- a/.github/workflows/java.yml
+++ b/.github/workflows/java.yml
@@ -57,7 +57,7 @@ jobs:
fail-fast: false
matrix:
jdk: [8, 11, 17, 21]
- maven: [3.9.5]
+ maven: [3.9.6]
image: [java]
env:
JDK: ${{ matrix.jdk }}
@@ -133,12 +133,18 @@ jobs:
fail-fast: false
matrix:
jdk: [11]
+ maven: [3.9.6]
steps:
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: 'temurin'
+ - name: Set up Maven
+ uses: s4u/setup-maven-action@1.9.0
+ with:
+ java-version: ${{ matrix.jdk }}
+ maven-version: ${{ matrix.maven }}
- name: Checkout Arrow
uses: actions/checkout@v4
with:
diff --git a/ci/docker/conda-integration.dockerfile b/ci/docker/conda-integration.dockerfile
index 074021677d6..c856000b367 100644
--- a/ci/docker/conda-integration.dockerfile
+++ b/ci/docker/conda-integration.dockerfile
@@ -20,7 +20,7 @@ ARG arch=amd64
FROM ${repo}:${arch}-conda-cpp
ARG arch=amd64
-ARG maven=3.5
+ARG maven=3.9.6
ARG node=16
ARG yarn=1.22
ARG jdk=8
diff --git a/ci/docker/conda-python-hdfs.dockerfile b/ci/docker/conda-python-hdfs.dockerfile
index c7b01edf8c2..81aa567c302 100644
--- a/ci/docker/conda-python-hdfs.dockerfile
+++ b/ci/docker/conda-python-hdfs.dockerfile
@@ -21,7 +21,7 @@ ARG python=3.8
FROM ${repo}:${arch}-conda-python-${python}
ARG jdk=8
-ARG maven=3.5
+ARG maven=3.9.6
RUN mamba install -q -y \
maven=${maven} \
openjdk=${jdk} \
diff --git a/ci/docker/conda-python-jpype.dockerfile b/ci/docker/conda-python-jpype.dockerfile
index 0e7fecf0362..0fe5dd84b4b 100644
--- a/ci/docker/conda-python-jpype.dockerfile
+++ b/ci/docker/conda-python-jpype.dockerfile
@@ -21,7 +21,7 @@ ARG python=3.8
FROM ${repo}:${arch}-conda-python-${python}
ARG jdk=11
-ARG maven=3.6
+ARG maven=3.9.6
RUN mamba install -q -y \
maven=${maven} \
openjdk=${jdk} \
diff --git a/ci/docker/conda-python-spark.dockerfile b/ci/docker/conda-python-spark.dockerfile
index 221c8409924..8972e389868 100644
--- a/ci/docker/conda-python-spark.dockerfile
+++ b/ci/docker/conda-python-spark.dockerfile
@@ -21,7 +21,7 @@ ARG python=3.8
FROM ${repo}:${arch}-conda-python-${python}
ARG jdk=8
-ARG maven=3.5
+ARG maven=3.9.6
ARG numpy=latest
COPY ci/scripts/install_numpy.sh /arrow/ci/scripts/
diff --git a/ci/docker/java-jni-manylinux-201x.dockerfile b/ci/docker/java-jni-manylinux-201x.dockerfile
index 8b73c73c1d2..bdd30b609ab 100644
--- a/ci/docker/java-jni-manylinux-201x.dockerfile
+++ b/ci/docker/java-jni-manylinux-201x.dockerfile
@@ -34,7 +34,7 @@ RUN vcpkg install \
# Install Java
ARG java=1.8.0
-ARG maven=3.9.3
+ARG maven=3.9.6
RUN yum install -y java-$java-openjdk-devel && \
yum clean all && \
curl \
diff --git a/ci/docker/linux-apt-docs.dockerfile b/ci/docker/linux-apt-docs.dockerfile
index c51600a1e59..8505f0f42a3 100644
--- a/ci/docker/linux-apt-docs.dockerfile
+++ b/ci/docker/linux-apt-docs.dockerfile
@@ -60,7 +60,7 @@ RUN apt-get update -y && \
ENV JAVA_HOME=/usr/lib/jvm/java-${jdk}-openjdk-amd64
-ARG maven=3.5.4
+ARG maven=3.9.6
COPY ci/scripts/util_download_apache.sh /arrow/ci/scripts/
RUN /arrow/ci/scripts/util_download_apache.sh \
"maven/maven-3/${maven}/binaries/apache-maven-${maven}-bin.tar.gz" /opt
diff --git a/dev/conbench_envs/README.md b/dev/conbench_envs/README.md
index 509dc5c0c95..89169ec44c2 100644
--- a/dev/conbench_envs/README.md
+++ b/dev/conbench_envs/README.md
@@ -111,7 +111,7 @@ Verify that you have at least these versions of `java`, `javac` and `maven`:
javac 1.8.0_292
...
# mvn -version
- Apache Maven 3.6.3
+ Apache Maven 3.9.6
...
### 3. Install Arrow dependencies for Java Script
diff --git a/dev/tasks/verify-rc/github.linux.amd64.yml b/dev/tasks/verify-rc/github.linux.amd64.yml
index 854020e85ce..8b5b185db74 100644
--- a/dev/tasks/verify-rc/github.linux.amd64.yml
+++ b/dev/tasks/verify-rc/github.linux.amd64.yml
@@ -54,7 +54,8 @@ jobs:
with:
ruby-version: 3.1
- - uses: actions/setup-java@v2
+ - name: Setup Java
+ uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '11'
diff --git a/docker-compose.yml b/docker-compose.yml
index 39cd473c274..607e717ddcd 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1678,7 +1678,7 @@ services:
# docker-compose build java
# docker-compose run java
# Parameters:
- # MAVEN: 3.9.5
+ # MAVEN: 3.9.6
# JDK: 8, 11, 17, 21
image: ${ARCH}/maven:${MAVEN}-eclipse-temurin-${JDK}
shm_size: *shm-size
@@ -1707,10 +1707,10 @@ services:
repo: ${REPO}
arch: ${ARCH}
# Use a newer JDK as it seems to improve stability
- jdk: 17
+ jdk: 11
# conda-forge doesn't have 3.5.4 so pinning explicitly, but this should
# be set to ${MAVEN}
- maven: 3.5
+ maven: 3.9.6
node: ${NODE}
go: ${GO}
volumes: *conda-volumes
@@ -1844,7 +1844,7 @@ services:
jdk: ${JDK}
# conda-forge doesn't have 3.5.4 so pinning explicitly, but this should
# be set to ${MAVEN}
- maven: 3.5
+ maven: 3.9.6
hdfs: ${HDFS}
links:
- impala:impala
@@ -1887,7 +1887,7 @@ services:
jdk: ${JDK}
# conda-forge doesn't have 3.5.4 so pinning explicitly, but this should
# be set to ${MAVEN}
- maven: 3.5
+ maven: 3.9.6
spark: ${SPARK}
numpy: ${NUMPY}
shm_size: *shm-size
diff --git a/java/maven/module-info-compiler-maven-plugin/pom.xml b/java/maven/module-info-compiler-maven-plugin/pom.xml
index ce598fc7f0f..54b27317395 100644
--- a/java/maven/module-info-compiler-maven-plugin/pom.xml
+++ b/java/maven/module-info-compiler-maven-plugin/pom.xml
@@ -30,7 +30,7 @@
- 3.3.9
+ 3.9.6