Applies to both Java example repos — device-detection-java-examples and ip-intelligence-java-examples. Tracking both here rather than raising a duplicate.
Summary
Neither Java example repo ships a Maven wrapper (mvnw / mvnw.cmd / .mvn/wrapper/), and there is no guaranteed system mvn on contributor or CI-prep machines. As a result the repos cannot be compiled locally without first manually installing Maven.
Impact
- During recent local cross-platform verification, the Java examples were the only stack that could not be built (Windows had a JDK but no Maven; WSL had neither) — they could only be checked statically. The nightly CI/CD dashboard is therefore effectively the first real
javac for any change.
- Contributors and any pre-CI check can't do
./mvnw verify out of the box, so refactors to shared code (e.g. the web HtmlContentHelper / servlets) can't be locally compiled before they reach the dashboard.
Suggested fix
Add a committed Maven wrapper to both repos: run mvn -N wrapper:wrapper (pinning a Maven version) at each repo root and commit the generated mvnw, mvnw.cmd, and .mvn/wrapper/maven-wrapper.properties. Local and CI builds can then use ./mvnw ... with no system-Maven dependency.
Scope — both Java example repos
- device-detection-java-examples
- ip-intelligence-java-examples
Notes
- Tooling / developer-experience improvement (no runtime behaviour change). Pre-existing.
Summary
Neither Java example repo ships a Maven wrapper (
mvnw/mvnw.cmd/.mvn/wrapper/), and there is no guaranteed systemmvnon contributor or CI-prep machines. As a result the repos cannot be compiled locally without first manually installing Maven.Impact
javacfor any change../mvnw verifyout of the box, so refactors to shared code (e.g. the webHtmlContentHelper/ servlets) can't be locally compiled before they reach the dashboard.Suggested fix
Add a committed Maven wrapper to both repos: run
mvn -N wrapper:wrapper(pinning a Maven version) at each repo root and commit the generatedmvnw,mvnw.cmd, and.mvn/wrapper/maven-wrapper.properties. Local and CI builds can then use./mvnw ...with no system-Maven dependency.Scope — both Java example repos
Notes