The following tools need to be installed on the system before a GeoServer developer environment can be set up.
The GeoServer project works with Java Long Term Support releases: Java 11 and Java 17.
Due to subtle changes in Java class libraries, we require development on Java 11 at this time (although the result is tested on Java 17). When calling a method of java core library, a type case may (or not be) implied and represented in the bytecode. When the core libraries change, the return type of a method can have a very subtle incompatibility.
GeoServer uses a tool known as Maven to build.
Maven tracks global settings in your home directory .m2/settings.xml. This file is used to control global options such as proxy settings or listing repository mirrors to download from.