Skip to content
Back to skills

Enterprise Maven Pom

ASecurity

Dasel v3 selector patterns for Maven POM XML files — use when querying dependency versions, filtering by groupId or scope, extracting module hierarchy from parent POMs, or detecting version conflicts across enterprise multi-module Java projects. Load this skill when working with pom.xml files using dasel.

  • 67 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 12, 2026
content-marketingjavabashspring

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add Jamie-BitFlight/claude_skills --skill enterprise-maven-pom --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Enterprise Maven Pom?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Enterprise Maven Pom
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jamie-bitflight-enterprise-maven-pom/badge)](https://www.skillsdirectory.com/skills/jamie-bitflight-enterprise-maven-pom)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: enterprise-maven-pom
description: Dasel v3 selector patterns for Maven POM XML files — use when querying dependency versions, filtering by groupId or scope, extracting module hierarchy from parent POMs, or detecting version conflicts across enterprise multi-module Java projects. Load this skill when working with pom.xml files using dasel.
---

# Maven POM Query Patterns

<when_to_use>

Load this skill when querying any `pom.xml` file — extracting dependency versions, filtering by groupId or scope, mapping module hierarchy from parent POMs, or detecting version conflicts across a multi-module Java project.

</when_to_use>

Domain skill for querying Maven POM XML files using dasel v3. Always pass `-i xml` explicitly. Child element text content (groupId, artifactId, version, scope) is accessed by element name directly — no `#text` needed. Write intermediate batch results to `/tmp/`, never to the source tree.

## Dependency Extraction

```bash
# All dependency groupIds from a single POM
cat pom.xml | dasel -i xml 'project.dependencies.dependency.map(groupId)'
```

## Framework Version Filtering

Filter dependencies by groupId to isolate framework-specific versions.

```bash
# Spring dependency versions
cat pom.xml | dasel -i xml 'project.dependencies.dependency.filter(groupId == "org.springframework").map(version)'

# Hibernate dependency versions
cat pom.xml | dasel -i xml 'project.dependencies.dependency.filter(groupId == "org.hibernate").map(version)'
```

## Scope Filtering

```bash
# Test-scoped dependency artifactIds
cat pom.xml | dasel -i xml 'project.dependencies.dependency.filter(scope == "test").map(artifactId)'

# Compile-scoped dependencies (no scope element defaults to compile)
cat pom.xml | dasel -i xml 'project.dependencies.dependency.filter(scope == "compile").map(artifactId)'
```

## Module Hierarchy

Extract module paths from a parent POM to map the project structure.

```bash
# Module list from parent POM
cat pom.xml | dasel -i xml 'project.modules.module'
```

## Cross-POM Version Conflict Detection

Batch pattern — iterate all POMs, extract dependencies per file, compare. Write results to `/tmp/`.

```bash
# Collect all dependency groupIds across every POM in the hierarchy
for pom in $(fdfind -e xml -n pom.xml .); do
  echo "=== $pom ===" >> /tmp/all_deps.txt
  cat "$pom" | dasel -i xml 'project.dependencies.dependency.map(groupId)' >> /tmp/all_deps.txt 2>/dev/null
done
```

Inspect `/tmp/all_deps.txt` for the same groupId appearing with different versions across modules.

## Multi-Field Extraction

Extract groupId and artifactId together for dependency inventory.

```bash
# Dependency coordinates (groupId + artifactId) — run as two passes
cat pom.xml | dasel -i xml 'project.dependencies.dependency.map(groupId)'
cat pom.xml | dasel -i xml 'project.dependencies.dependency.map(artifactId)'
```

## DependencyManagement vs Dependencies

Enterprise POMs use `dependencyManagement` to declare BOM-controlled versions separately from active `dependencies`.

```bash
# Managed dependency versions (BOM section)
cat pom.xml | dasel -i xml 'project.dependencyManagement.dependencies.dependency.map(version)'

# Active dependency versions (may be empty if version comes from BOM)
cat pom.xml | dasel -i xml 'project.dependencies.dependency.map(version)'
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…