나는이 같은 문제를 겪었고 그것을하기 위해 쉘에 하나의 라이너를 썼다.
rm -rf $(mvn help:evaluate -Dexpression=settings.localRepository\
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -B \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | grep -vF '[INFO]')/*
필요할 때마다 간단히 이것을 실행하기 위해 Jenkins 프로젝트를 원했기 때문에 하나의 라이너로했습니다. 그래서 물건 등에 로그온 할 필요가 없습니다. 쉘 스크립트를 허용한다면, 당신은 그것을 청소기로 쓸 수 있습니다 :
#!/usr/bin/env bash
REPOSITORY=$(mvn help:evaluate \
-Dexpression=settings.localRepository \
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
--batch-mode \
| grep -vF '[INFO]')
rm -rf $REPOSITORY/*
작동해야하지만 해당 스크립트를 모두 테스트하지는 않았습니다. (첫 번째 명령은 테스트했지만 전체 스크립트는 테스트하지 않았습니다.)이 방법에는 복잡한 명령을 먼저 실행하는 단점이 있습니다. dem 등원이므로 스스로 테스트 할 수 있습니다. 삭제는 나중에 자체 명령이므로 확인없이 삭제 명령을 신뢰해서는 안되기 때문에 모든 시도를 시도하고 생각한대로 수행되는지 확인할 수 있습니다. 그러나 한 가지 이유에서 현명합니다. 휴대 성이 뛰어납니다. settings.xml 파일을 존중합니다. 이 명령을 실행 중이고 maven에게 특정 xml 파일 (-s 또는 --settings 인수)을 사용하도록 지시하면 여전히 작동합니다. 따라서 모든 곳에서 모든 것이 똑같은지 확인하지 않아도됩니다.
약간 비싸지 만 사업을하는 괜찮은 방법입니다 .IMO.
-U
이슈를 업데이트 할 플래그 를 사용해 보셨습니까 ?