Skip to content

Issues building JMeter Source (AzureDevOps) via Gradle (security errors & missing/up-to-date JARs under /lib) locally #6713

Description

@sudharshanhp

Expected behavior

Hi Team,
I am trying to build and use a customized JMeter (internally named JMeterCore) sourced from Git and hosted in our Azure DevOps repository. The goal is to generate a working JMeter distribution/latest Jar files (with updated dependencies in /lib) to run load tests.

However, I am encountering security-related errors and dependency issues during the Gradle build, and I’m not sure if this is the correct or recommended approach for maintaining a custom JMeter build. Any other different approach to build locally other than Gradle.bat?

Note: Refer to the attachment for security errors while building using Gradle bat file.

Actual behavior

Refer the attachment

JmeterQuestionToGitCommunity.docx

Steps to reproduce the problem

Refer the attachment.

JmeterQuestionToGitCommunity.docx

JMeter Version

5.6.3

Java Version

JAVA JDK 21

OS Version

10.0.26100 (MS Window 11 Enterprise)

Activity

  1. ruthst00 commented on Sep 20, 2026

    @ruthst00

    This issue breaks down into two distinct problems:

    Problem 1: Security/verification errors (the build-blocking one)

    Root cause: Gradle's dependency verification requires PGP signatures to be checked against a local keyring. The AutoStyle 4.0.1 key was missing from gradle/verification-keyring.keys, so when Azure DevOps agents can't reach external key servers (common behind corporate firewalls), the build fails immediately at :build-logic:build-parameters:compileJava.

    Fix: this issue is fixed with PR #6740 which has already been merged upstream. The reporter should either:

    1. Pull the latest main branch from apache/jmeter — the fix is already there.
    2. Or cherry-pick the single commit from PR Add AutoStyle key to dependency verification keyring #6740 into their fork.

    Problem 2: Missing/stale JARs under /lib

    Root cause: This is expected behavior — JMeter's source repo does not ship pre-built JARs in /lib. They are produced by the Gradle build (./gradlew :src:dist:assemble). If the build fails early (due to Problem 1), /lib will be empty or stale.

    Fix: Once Problem 1 is resolved, run:

    ./gradlew --quiet :src:dist:assemble
    

    This produces a full distribution (including all JARs under build/) that can be used to run JMeter.


    @pmouawad I believe this issue can be closed based on the analysis above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions