This is becoming more and more common, that build plugins require
newer JDK versions than the runtimes that some projects still target
and support. This isn't necessarily a bad thing, though. As I've
pointed out to other projects, or perhaps this one in the past, JDK 11
actually enforces Java 8 compliance better than JDK 8 does, because
the JDK 8 compiler tends to allow things on the classpath that are
internal, non-public APIs, but the JDK11 does not. Apache Accumulo now
has a minimum build version of JDK 17, because several build plugins
require 17, but that project still targets and runs on Java 11.

ZooKeeper already supports building with JDK versions newer than 8.
This is done in the `jdk-release-flag` profile that sets
`maven.compiler.release` to 8. It could trivially use the
maven-enforcer-plugin to require JDK 11 or newer at build time, but
still continue targeting 8 as the runtime supported version. This is
done with a property called `minimalJavaBuildVersion` in newer Apache
parent POMs, but ZK is still using a parent POM version 23, which is
quite old. It would be a good idea to switch to a newer parent POM and
set that property to 11 or even 17. And then you wouldn't have to
worry about build plugin compatibility with Java 8 anymore.

On Fri, Aug 15, 2025 at 3:24 PM Andor Molnar <an...@apache.org> wrote:
>
> Fix:
>
> https://github.com/apache/zookeeper/pull/2297
>
> I had to modify Jenkinsfile-owasp to use JDK11 for running the check, because 
> only the latest version (12.1.3) has the fix for the issue. I also need to 
> modify release guidelines, because we’re no longer able to run the dependency 
> check with Java 8.
>
> ptal.
>
> Andor
>
>
>
>
>
> > On Aug 15, 2025, at 13:48, Andor Molnar <an...@apache.org> wrote:
> >
> > https://github.com/dependency-check/DependencyCheck/issues/7463
>
>

Reply via email to