diff --git a/.gitignore b/.gitignore
index fab91721d7..3aae6c21fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,3 +79,4 @@ ivf_pq_index
# java
.classpath
+cufile.log
diff --git a/conda/environments/all_cuda-129_arch-aarch64.yaml b/conda/environments/all_cuda-129_arch-aarch64.yaml
index 5ac6089778..481affa0b2 100644
--- a/conda/environments/all_cuda-129_arch-aarch64.yaml
+++ b/conda/environments/all_cuda-129_arch-aarch64.yaml
@@ -31,13 +31,13 @@ dependencies:
- libopenblas<=0.3.30
- librmm==26.12.*,>=0.0.0a0
- make
-- maven=3.9.*
+- maven>=3.10.0,<3.11.0
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
-- openjdk=22.*
+- openjdk>=22,<23
- pre-commit
- pylibraft==26.12.*,>=0.0.0a0
- pytest
diff --git a/conda/environments/all_cuda-129_arch-x86_64.yaml b/conda/environments/all_cuda-129_arch-x86_64.yaml
index 62b69c26ba..30467281b9 100644
--- a/conda/environments/all_cuda-129_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-129_arch-x86_64.yaml
@@ -30,13 +30,13 @@ dependencies:
- libnvjitlink-dev
- librmm==26.12.*,>=0.0.0a0
- make
-- maven=3.9.*
+- maven>=3.10.0,<3.11.0
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
-- openjdk=22.*
+- openjdk>=22,<23
- pre-commit
- pylibraft==26.12.*,>=0.0.0a0
- pytest
diff --git a/conda/environments/all_cuda-133_arch-aarch64.yaml b/conda/environments/all_cuda-133_arch-aarch64.yaml
index 00c12ab875..503e8e1e5d 100644
--- a/conda/environments/all_cuda-133_arch-aarch64.yaml
+++ b/conda/environments/all_cuda-133_arch-aarch64.yaml
@@ -33,13 +33,13 @@ dependencies:
- libopenblas<=0.3.30
- librmm==26.12.*,>=0.0.0a0
- make
-- maven=3.9.*
+- maven>=3.10.0,<3.11.0
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
-- openjdk=22.*
+- openjdk>=22,<23
- pre-commit
- pylibraft==26.12.*,>=0.0.0a0
- pytest
diff --git a/conda/environments/all_cuda-133_arch-x86_64.yaml b/conda/environments/all_cuda-133_arch-x86_64.yaml
index c3c1a29d80..bf705af067 100644
--- a/conda/environments/all_cuda-133_arch-x86_64.yaml
+++ b/conda/environments/all_cuda-133_arch-x86_64.yaml
@@ -32,13 +32,13 @@ dependencies:
- libnvjitlink-dev
- librmm==26.12.*,>=0.0.0a0
- make
-- maven=3.9.*
+- maven>=3.10.0,<3.11.0
- nccl>=2.19
- ninja
- nodejs>=22
- numpy>=2.0,<3.0
- openblas
-- openjdk=22.*
+- openjdk>=22,<23
- pre-commit
- pylibraft==26.12.*,>=0.0.0a0
- pytest
diff --git a/dependencies.yaml b/dependencies.yaml
index dc0b3e0ef7..c774d998d4 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -330,8 +330,8 @@ dependencies:
# spotless-fmt pre-commit hook requires Maven and a JDK
- output_types: [conda]
packages:
- - maven=3.9.*
- - &openjdk openjdk=22.*
+ - maven>=3.10.0,<3.11.0
+ - &openjdk openjdk>=22,<23
clang:
common:
- output_types: conda
@@ -656,7 +656,7 @@ dependencies:
packages:
- *cmake_ver
- libboost-devel
- - maven=3.9.*
+ - maven>=3.10.0,<3.11.0
- *openjdk
bench:
common:
diff --git a/examples/java/cuvs-java/pom.xml b/examples/java/cuvs-java/pom.xml
index abc52cf1fe..7bb1ecf0fc 100644
--- a/examples/java/cuvs-java/pom.xml
+++ b/examples/java/cuvs-java/pom.xml
@@ -114,24 +114,33 @@ SPDX-License-Identifier: Apache-2.0
maven-clean-plugin
- 3.4.0
+ 3.5.0
maven-resources-plugin
- 3.3.1
+ 3.5.0
+
+
+
+ maven-surefire-plugin
+ 3.5.6
+
+
+ maven-install-plugin
+ 3.2.0
maven-compiler-plugin
- 3.13.0
+ 3.16.0
maven-jar-plugin
- 3.4.2
+ 3.5.1
maven-assembly-plugin
- 3.4.2
+ 3.8.0
make-jar-with-dependencies
diff --git a/examples/java/cuvs-lucene/pom.xml b/examples/java/cuvs-lucene/pom.xml
index 3d0f3669a0..9066e314e7 100644
--- a/examples/java/cuvs-lucene/pom.xml
+++ b/examples/java/cuvs-lucene/pom.xml
@@ -132,7 +132,7 @@
org.apache.maven.plugins
maven-assembly-plugin
- 3.6.0
+ 3.8.0
src/main/assembly/jar-with-merged-services.xml
@@ -162,39 +162,40 @@
maven-clean-plugin
- 3.4.0
+ 3.5.0
maven-resources-plugin
- 3.3.1
+ 3.5.0
maven-compiler-plugin
- 3.13.0
+ 3.16.0
+
maven-surefire-plugin
- 3.3.0
+ 3.5.6
maven-jar-plugin
- 3.4.2
+ 3.5.1
maven-install-plugin
- 3.1.2
+ 3.2.0
maven-deploy-plugin
- 3.1.2
+ 3.2.0
maven-site-plugin
- 3.12.1
+ 3.22.0
maven-project-info-reports-plugin
- 3.6.1
+ 3.9.0
diff --git a/fern/pages/installation/java.md b/fern/pages/installation/java.md
index cb91be0a9e..70bc63b342 100644
--- a/fern/pages/installation/java.md
+++ b/fern/pages/installation/java.md
@@ -20,7 +20,7 @@ If you use locally built native libraries, make sure the directory containing `l
Java development also requires:
-1. Maven 3.9.6 or newer.
+1. Maven 3.10 or newer.
2. JDK 22.
3. jextract for JDK 22. If it is not already installed, the build script downloads it.
@@ -69,7 +69,7 @@ java/panama-bindings/generate-bindings.sh
`cuvs-lucene` provides Apache Lucene codecs that offload vector index build, and optionally search, to the GPU. It is published as a separate artifact that builds on the Java API described above. For usage guidance, see the [Lucene Integration](/user-guide/lucene) guide.
-`cuvs-lucene` targets Lucene 10.2, requires JDK 22 and Maven 3.9.6 or newer, and inherits the NVIDIA cuVS [CUDA GPU requirements](/installation#cuda-gpu-requirements).
+`cuvs-lucene` targets Lucene 10.2, requires JDK 22 and Maven 3.10 or newer, and inherits the NVIDIA cuVS [CUDA GPU requirements](/installation#cuda-gpu-requirements).
`Lucene101AcceleratedHNSWCodec` falls back to CPU index construction when no GPU or native library is available, so an application using it works on GPU and non-GPU hosts alike. The other three codecs require a working cuVS installation. See [Lucene Integration](/user-guide/lucene) for details.
diff --git a/java/.gitignore b/java/.gitignore
index 6f4eb283a3..2e98aff7ba 100644
--- a/java/.gitignore
+++ b/java/.gitignore
@@ -1,6 +1,5 @@
*.iml
hs_err*.log
-cufile.log
target/
jextract-22/
openjdk-22-jextract*
diff --git a/java/README.md b/java/README.md
index 94d1f1bba0..7c56e8fab2 100644
--- a/java/README.md
+++ b/java/README.md
@@ -8,7 +8,7 @@ cuVS Java API provides a Java based simple, efficient, and a robust vector searc
## Prerequisites
- [CuVS libraries](https://docs.nvidia.com/cuvs/installation#build-from-source)
-- [maven 3.9.6 or above](https://maven.apache.org/download.cgi)
+- [maven 3.10 or above](https://maven.apache.org/download.cgi)
- [JDK 22](https://openjdk.org/projects/jdk/22/)
- [jextract for JDK 22](https://jdk.java.net/jextract/) (If not already installed, the build script downloads it)
diff --git a/java/cuvs-java/pom.xml b/java/cuvs-java/pom.xml
index 43d54d0cfd..9a9f0be696 100644
--- a/java/cuvs-java/pom.xml
+++ b/java/cuvs-java/pom.xml
@@ -142,7 +142,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-compiler-plugin
- 3.11.0
+ 3.16.0
default-compile
@@ -177,9 +177,16 @@ SPDX-License-Identifier: Apache-2.0
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.5.6
+
+
+
org.apache.maven.plugins
maven-failsafe-plugin
- 3.5.2
+ 3.5.6
1
--enable-native-access=com.nvidia.cuvs
@@ -199,7 +206,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-jar-plugin
- 3.4.2
+ 3.5.1
@@ -215,7 +222,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-source-plugin
- 2.2.1
+ 3.4.0
attach-sources
@@ -232,12 +239,15 @@ SPDX-License-Identifier: Apache-2.0
true
+
+ false
+
org.apache.maven.plugins
maven-javadoc-plugin
- 3.11.2
+ 3.12.0
attach-javadocs
@@ -281,6 +291,12 @@ SPDX-License-Identifier: Apache-2.0
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ 3.2.0
+
@@ -339,7 +355,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-resources-plugin
- 3.3.1
+ 3.5.0
copy-native-libs
@@ -348,7 +364,7 @@ SPDX-License-Identifier: Apache-2.0
copy-resources
- true
+ always
${project.build.directory}/native-libs/${os.arch}/${os.name}
@@ -378,7 +394,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-assembly-plugin
- 3.4.2
+ 3.8.0
src/assembly/native-with-deps.xml
@@ -425,7 +441,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-resources-plugin
- 3.3.1
+ 3.5.0
copy-native-libs
@@ -434,7 +450,7 @@ SPDX-License-Identifier: Apache-2.0
copy-resources
- true
+ always
${project.build.directory}/native-libs/${os.arch}/${os.name}
@@ -464,7 +480,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-assembly-plugin
- 3.4.2
+ 3.8.0
src/assembly/native-with-deps.xml
@@ -511,7 +527,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-resources-plugin
- 3.3.1
+ 3.5.0
copy-native-libs
@@ -520,7 +536,7 @@ SPDX-License-Identifier: Apache-2.0
copy-resources
- true
+ always
${project.build.directory}/native-libs/${os.arch}/${os.name}
@@ -550,7 +566,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-assembly-plugin
- 3.4.2
+ 3.8.0
src/assembly/native-with-deps.xml
@@ -597,7 +613,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-resources-plugin
- 3.3.1
+ 3.5.0
copy-native-libs
@@ -606,7 +622,7 @@ SPDX-License-Identifier: Apache-2.0
copy-resources
- true
+ always
${project.build.directory}/native-libs/${os.arch}/${os.name}
@@ -636,7 +652,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-assembly-plugin
- 3.4.2
+ 3.8.0
src/assembly/native-with-deps.xml
diff --git a/java/cuvs-lucene/README.md b/java/cuvs-lucene/README.md
index 1836d71ab5..4c787bb1e8 100644
--- a/java/cuvs-lucene/README.md
+++ b/java/cuvs-lucene/README.md
@@ -31,7 +31,7 @@ For guidance on choosing between them, configuring builds, and tuning GPU resour
- An NVIDIA GPU, to use the GPU-accelerated paths (the accelerated HNSW codecs fall back to CPU index construction without one; `CuVS2510GPUSearchCodec` requires a GPU)
- [CUDA Toolkit 12.2+](https://developer.nvidia.com/cuda-toolkit-archive) and an Ampere architecture GPU or newer, matching the [cuVS requirements](https://docs.nvidia.com/cuvs/installation)
- [JDK 22](https://jdk.java.net/archive/)
-- [Maven 3.9.6+](https://maven.apache.org/download.cgi)
+- [Maven 3.10+](https://maven.apache.org/download.cgi)
- A matching version of the [cuVS libraries](https://docs.nvidia.com/cuvs/installation/java). For Maven usage, install the cuVS libraries and add them to your system library load path.
### Maven
diff --git a/java/cuvs-lucene/pom.xml b/java/cuvs-lucene/pom.xml
index 6fe6de5eaa..334edd9580 100644
--- a/java/cuvs-lucene/pom.xml
+++ b/java/cuvs-lucene/pom.xml
@@ -144,6 +144,11 @@ SPDX-License-Identifier: Apache-2.0
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.16.0
+
com.diffplug.spotless
spotless-maven-plugin
@@ -165,7 +170,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-assembly-plugin
- 3.6.0
+ 3.8.0
jar-with-dependencies
@@ -182,9 +187,10 @@ SPDX-License-Identifier: Apache-2.0
+
org.apache.maven.plugins
maven-surefire-plugin
- 3.5.4
+ 3.5.6
plain
false
@@ -202,7 +208,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-source-plugin
- 3.3.1
+ 3.4.0
attach-sources
@@ -223,7 +229,6 @@ SPDX-License-Identifier: Apache-2.0
jar
- com.nvidia.cuvs.lucene
all,-missing
${project.build.directory}/javadocs
@@ -233,7 +238,7 @@ SPDX-License-Identifier: Apache-2.0
org.jacoco
jacoco-maven-plugin
- 0.8.14
+ 0.8.15
@@ -253,7 +258,7 @@ SPDX-License-Identifier: Apache-2.0
org.apache.maven.plugins
maven-install-plugin
- 3.1.4
+ 3.2.0