Skip to content

Add a Maven wrapper (mvnw) to the Java example repos so they build without a system Maven #610

Description

@jwrosewell

Applies to both Java example reposdevice-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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions