Maven Build for Apache Druid

SkillDocs & knowledge

Building Apache Druid with Maven, managing memory constraints, and skipping verification checks.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Maven Build for Apache Druid skill

What this skill tells your AI

The instructions your AI receives, as published by cxcscmu/skilllearnbench in skills/b1-one-shot-claude-haiku-4-5/fix-security-bug/maven-druid-build/SKILL.md and read by ahel’s review.

Build Command Reference

Full Build (from instructions)

cd /root/druid
mvn clean package \
  -DskipTests \
  -Dcheckstyle.skip=true \
  -Dpmd.skip=true \
  -Dforbiddenapis.skip=true \
  -Dspotbugs.skip=true \
  -Danimal.sniffer.skip=true \
  -Denforcer.skip=true \
  -Djacoco.skip=true \
  -Ddependency-check.skip=true \
  -pl '!web-console' \
  -pl indexing-service \
  -am

Flag Explanations

FlagPurpose
cleanRemove previous build artifacts
packageCompile and package into JAR/WAR
-DskipTestsSkip unit test execution
-Dcheckstyle.skip=trueSkip code style checking
-Dpmd.skip=trueSkip PMD analysis
-Dforbiddenapis.skip=trueSkip forbidden API checking
-Dspotbugs.skip=trueSkip SpotBugs (FindBugs) analysis
-Danimal.sniffer.skip=trueSkip JDK version compatibility checks
-Denforcer.skip=trueSkip Maven Enforcer rules
-Djacoco.skip=trueSkip code coverage analysis
-Ddependency-check.skip=trueSkip OWASP dependency checking
-pl '!web-console'Exclude web-console module (memory constraint)
-pl indexing-serviceInclude indexing-service module
-amAlso make dependencies of selected projects

Memory Management

Memory Issues

If you encounter OOM (Out of Memory) errors:

# Increase heap size
export MAVEN_OPTS="-Xmx2g -Xms1g"

# Very aggressive heap limit
export MAVEN_OPTS="-Xmx1g -Xms512m"

Parallel Builds

To speed up builds with multiple cores:

mvn clean package -T 1C  # 1 thread per core

Output Artifacts

After successful build:

druid/indexing-service/target/druid-indexing-service-0.20.0-SNAPSHOT.jar
druid/distribution/target/apache-druid-0.20.0-SNAPSHOT/lib/

Verifying Build

# Check if JAR was created
ls -la indexing-service/target/*.jar

# Check build log for errors
tail -100 build.log

# Verify specific file was included
jar tf indexing-service/target/*.jar | grep "JavaScriptFilter"

Maven Troubleshooting

Module Not Found

# Verify module exists
ls -la indexing-service/pom.xml

# Rebuild parent projects
mvn clean install -pl '!web-console'

Compilation Errors

# Detailed error output
mvn clean package -X 2>&1 | tail -50

# Compile only (no packaging)
mvn clean compile

Selective Compilation

# Build specific module and dependencies
mvn clean package -pl indexing-service -am

# Build without tests but with other checks
mvn clean package -DskipTests

# Minimal build for testing
mvn clean package -DskipTests -Denforcer.skip=true

Signals

GitHub stars
83
Forks
5
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
maven-druid-build
Source
github.com/cxcscmu/skilllearnbench