diff --git a/rpm/redhat/master/common/gdal32/main/gdal32.spec b/rpm/redhat/master/common/gdal32/main/gdal32.spec
index cdf1e60d0..777c1bf39 100644
--- a/rpm/redhat/master/common/gdal32/main/gdal32.spec
+++ b/rpm/redhat/master/common/gdal32/main/gdal32.spec
@@ -113,6 +113,7 @@ BuildRequires:      freexl-devel
 BuildRequires: g2clib-devel
 BuildRequires: geos%{geosmajorversion}-devel >= 3.9.0
 BuildRequires: ghostscript
+BuildRequires: javapackages-local
 BuildRequires: jpackage-utils
 # For 'mvn_artifact' and 'mvn_install'
 BuildRequires: libgeotiff%{libgeotiffmajorversion}-devel
@@ -129,6 +130,7 @@ BuildRequires:      libwebp-devel
 BuildRequires: libtool
 BuildRequires: giflib-devel
 BuildRequires: netcdf-devel
+BuildRequires: make
 %if 0%{?rhel}
 BuildRequires: mariadb-devel
 %endif
@@ -262,6 +264,23 @@ BuildArch: noarch
 %description doc
 This package contains HTML and PDF documentation for GDAL.

+%package java
+Summary:        Java modules for the GDAL file format library
+Requires:       jpackage-utils
+Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
+
+%description java
+The GDAL Java modules provide support to handle multiple GIS file formats.
+
+
+%package javadoc
+Summary:        Javadocs for %{name}
+Requires:       jpackage-utils
+BuildArch:      noarch
+
+%description javadoc
+This package contains the API documentation for %{name}.
+
 %package python3
 %{?python_provide:%python_provide python3-gdal}
 Summary:       Python modules for the GDAL file format library
@@ -486,6 +505,13 @@ pushd ogr/ogrsf_frmts/s57/
   %{__make} %{?_smp_mflags} all
 popd

+# Make Java module and documentation
+pushd swig/java
+  %{__make}
+  ant maven
+popd
+%mvn_artifact swig/java/build/maven/gdal-%version.pom swig/java/build/maven/gdal-%version.jar
+
 # Make Python modules
 pushd swig/python
   %py3_build
@@ -620,6 +646,21 @@ done
 %{__mkdir} -p %{buildroot}%{_mandir}/man1
 %{__cp} -rp man/* %{buildroot}%{_mandir}/man1

+# install Java plugin
+%mvn_install -J swig/java/java
+
+# 775 on the .so?
+# copy JNI libraries and links, non versioned link needed by JNI
+# What is linked here?
+mkdir -p %{buildroot}%{_jnidir}/%{name}
+cp -pl swig/java/.libs/*.so*  \
+    %{buildroot}%{_jnidir}/%{name}/
+chrpath --delete %{buildroot}%{_jnidir}/%{name}/*jni.so*
+
+# Install Java API documentation in the designated place
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -pr swig/java/java/org %{buildroot}%{_javadocdir}/%{name}
+
 pushd swig/python
   %py3_install
 popd
@@ -686,6 +727,12 @@ popd
 %{gdalinstdir}/lib/pkgconfig/%{sname}.pc
 %{_libdir}/pkgconfig/%{name}.pc

+%files java -f .mfiles
+%doc swig/java/apps
+%{_jnidir}/%{name}/libgdalalljni.so*
+
+%files javadoc -f .mfiles-javadoc
+
 %files doc
 %{_mandir}/man1