maven 및 fzf를 사용한 Java 종속성 뷰어

때로는 종속성과 거기에 있는 클래스 및 메서드를 살펴볼 필요가 있습니다. 모든 좋은 IDE에는 이 기능이 탑재되어 있으며 라이브러리와 클래스를 쉽게 스크롤하고 검색할 수 있습니다. 그러나 때때로 빠르게 살펴보고 좋아하는 IDE를 부팅하고 싶지 않거나 자기 고행을 좋아하고 Vim을 사용하고 있을 수 있습니다.

coc-vim은 Vim에 언어 서버 지원을 가져오는 데 좋은 역할을 하므로 때때로 일부 편의가 누락됩니다. 이 중 하나는 언급된 종속성 개요입니다. 이 경우에는 작은 스크립트를 작성했습니다.

#!/bin/bash

# generate dependency list if not exists
if [ ! -f .dependencies ]; then
    echo "Generate dependency list"
    mvn dependency:list -DoutputFile=./.dependencies
fi

# check the last modified, if pom is younger the dependency list will be updated
if [ .dependencies -ot pom.xml  ]
then
    mvn dependency:list -DoutputFile=./.dependencies
fi
# open selection list for the dependencies
dependencies=$(cat ./.dependencies|fzf)

packagePath=$(echo $dependencies | cut -d':' -f1 | sed -e 's/\./\//g')
packageName=$(echo $dependencies | cut -d':' -f2)
version=$(echo $dependencies | cut -d':' -f4)

path=$packagePath/$packageName/$version
jar=$packageName-$version.jar

# open selection list for the containing class of the package
classFile=$(jar tf /home/maren/.m2/repository/$path/$jar | grep class | fzf )

# shows the public methods of the classes.
output=$(javap  jar:file:///home/maren/.m2/repository/$path/$jar!/$classFile)
# like cat but on steroids. 
bat --line-range 2:9999 -l Java <<<  $output



다음은 작은 데모입니다.

좋은 웹페이지 즐겨찾기