maven and java_home?
Ronald Klop <[email protected]> Thu, 5 Feb 2026 09:52:13 +0100
| Newsgroups | gmane.os.freebsd.devel.java |
|---|---|
| Message-ID | <[email protected]> |
Hi, When a port defines JAVA_VERSION but during the build multiple jdk versions are installed, maven does not use the defined version if JAVA_HOME is not set in the environment. I found this while pinning ports to openjdk8 and defining JAVA_DEFAULT=21 [1]. Dependencies install openjdk21 as run_dep which is picked up by maven, although JAVA_VERSION of the current build is 8. The patch in the attachment makes sure JAVA_HOME is set. This fixes the builds. I used this to find the relevant ports. find . -name Makefile | xargs grep -l bin/mvn | xargs grep -L JAVA_HOME NB: for ant we set a similar MAKE_ENV in Mk/Uses/java.mk. It might be a nice follow up task to add maven support to java.mk. I first want to get JAVA_DEFAULT=21 in the ports tree. Is it possible to get some java@ approval for such a change without going through the hassle of creating separate PRs for every port? Regards, Ronald. [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272855
maven_javahome.diff
(text/plain, 3.1 KB)
commit 0025e6c8ffafad37809be41045aa8463860becdc Author: Ronald Klop <[email protected]> Date: Wed Feb 4 20:53:30 2026 +0100 many: pass JAVA_HOME to maven When a port defines JAVA_VERSION but during the build multiple jdk versions are installed, maven does not use the defined version if JAVA_HOME is not set in the environment. PR: 272855 Approved-by: java@ diff --git a/cad/digital/Makefile b/cad/digital/Makefile index dd8b15511961..9f8979b088d9 100644 --- a/cad/digital/Makefile +++ b/cad/digital/Makefile @@ -31,7 +31,8 @@ NO_ARCH= yes DEV_UPDATE_MODE= no -MAKE_ENV= MAVEN_HOME=/usr/local/share/java/apache-maven-3.8 # workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283883 +MAKE_ENV= JAVA_HOME=${JAVA_HOME} \ + MAVEN_HOME=/usr/local/share/java/apache-maven-3.8 # workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283883 .if (${DEV_UPDATE_MODE} == "yes") post-build: diff --git a/games/lizzie/Makefile b/games/lizzie/Makefile index 9595a72adb69..404bc66979b4 100644 --- a/games/lizzie/Makefile +++ b/games/lizzie/Makefile @@ -19,6 +19,8 @@ USE_GITHUB= yes GH_ACCOUNT= featurecat JAVA_VERSION= 8 # because of Bug 292662 - games/lizzie: does not build with jdk11+ +MAKE_ENV+= JAVA_HOME=${JAVA_HOME} + NO_ARCH= yes # to rebuild the deps archive: diff --git a/math/jacop/Makefile b/math/jacop/Makefile index e721b75b6893..fd3977e58634 100644 --- a/math/jacop/Makefile +++ b/math/jacop/Makefile @@ -19,6 +19,8 @@ USE_GITHUB= yes GH_ACCOUNT= radsz JAVA_VERSION= 8 11 17 +MAKE_ENV+= JAVA_HOME=${JAVA_HOME} + NO_ARCH= yes SUB_FILES= ${PORTNAME}.sh diff --git a/math/jts/Makefile b/math/jts/Makefile index e8204f77e97c..3a4b5a500adb 100644 --- a/math/jts/Makefile +++ b/math/jts/Makefile @@ -17,6 +17,8 @@ JAVA_VERSION= 11+ USE_GITHUB= yes GH_ACCOUNT= locationtech +MAKE_ENV+= JAVA_HOME=${JAVA_HOME} + NO_ARCH= yes VER= ${PORTVERSION:tl} diff --git a/science/cdk/Makefile b/science/cdk/Makefile index 28b3256a1f7a..3d6f0447be2a 100644 --- a/science/cdk/Makefile +++ b/science/cdk/Makefile @@ -17,6 +17,8 @@ USES= java USE_GITHUB= yes JAVA_VERSION= 17 # Java 8 fails on aarch64: Internal Error (assembler_aarch64.hpp:237), pid=68892, tid=0x000000000002b995 guarantee(val < (1U << nbits)) failed: Field too big for insn +MAKE_ENV+= JAVA_HOME=${JAVA_HOME} + NO_ARCH= yes PLIST_FILES= ${JAVAJARDIR}/${PORTNAME}-${PORTVERSION}.jar diff --git a/science/opsin/Makefile b/science/opsin/Makefile index b9c6e1f5da9d..c98ba8814dba 100644 --- a/science/opsin/Makefile +++ b/science/opsin/Makefile @@ -16,6 +16,8 @@ BUILD_DEPENDS= maven>0:devel/maven USES= java +MAKE_ENV+= JAVA_HOME=${JAVA_HOME} + NO_ARCH= yes BB_ACCOUNT= dan2097 diff --git a/security/owasp-dependency-check/Makefile b/security/owasp-dependency-check/Makefile index 2bbf67b3aaac..708f1d44ac43 100644 --- a/security/owasp-dependency-check/Makefile +++ b/security/owasp-dependency-check/Makefile @@ -28,6 +28,8 @@ GH_ACCOUNT= jeremylong GH_PROJECT= DependencyCheck JAVA_VERSION= 8 +MAKE_ENV+= JAVA_HOME=${JAVA_HOME} + NO_ARCH= yes SUB_FILES= owasp-dependency-check SUB_LIST= PORTVERSION=${PORTVERSION}