Skip to main content

search-m2

Search for Java classes inside Maven dependencies in ~/.m2. Use when the user asks to locate classes or inspect JARs. Cross-reference pom.xml files in the current directory to resolve dependency names/versions.

소스 정보

저장소
Azure/azure-sdk-for-java
최근 소스 활동
2026년 3월 16일 09:47
감지된 SKILL.md 언어
영어
스타
2,567
포크
2,181

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
search-m2
description
Search for Java classes inside Maven dependencies in ~/.m2. Use when the user asks to locate classes or inspect JARs. Cross-reference pom.xml files in the current directory to resolve dependency names/versions.
# Search Maven Local Repository (search-m2) Use this skill to find which dependency JAR contains a class and to inspect JAR contents in `~/.m2/repository`. ## Preconditions - Work from the user’s current directory. - Look for `pom.xml` files in the current directory tree and use them to resolve dependency names and versions. ## Key paths - Maven local repo: `~/.m2/repository` - Dependency JAR path pattern: `~/.m2/repository/<groupId path>/<artifactId>/<version>/<artifactId>-<version>.jar` ## Steps 1. **Discover pom files**: run `find . -name pom.xml` from the current directory. - If multiple poms exist, prefer the closest one to the current directory or ask the user which project/module to use. 2. **Extract dependency coordinates**: - If the user provides a group/artifact, search the poms for that dependency and read its version. - If versions are defined via properties (e.g., `${foo.version}`), resolve the property from the same pom (or parent if obvious). 3. **Resolve the JAR path** using the groupId/artifactId/version mapping above. - If the version is not found, list available versions in `~/.m2/repository/<groupId path>/<artifactId>/` and ask the user which to inspect. 4. **Search for classes**: - List classes: `jar tf <jar> | rg '\.class$'` - Find a specific class: `jar tf <jar> | rg '<ClassName>(\.class)?$'` 5. **Inspect class details** (if requested): - `javap -classpath <jar> <fully.qualified.ClassName>` ## Useful commands ### Find a class across all jars (fallback) ```bash rg -g '*.jar' --files ~/.m2/repository | while read -r jar; do jar tf "$jar" | rg -q 'com/example/MyClass.class' && echo "$jar" done ``` ### Resolve versions for a dependency ```bash ls ~/.m2/repository/<groupId path>/<artifactId>/ ``` ## Notes - If the user is vague, start by identifying the relevant pom.xml and extracting dependency coordinates. - If the dependency is transitive and not in the pom, check `mvn -q -DskipTests dependency:tree` (only if needed and the user agrees).
GitHub에서 보기