2013-04-09 6 views

Antwort

23

So etwas sollte wahrscheinlich funktionieren:

finden . -name "pom.xml" -exec mvn sauber -f '{}' \;

+0

Dieser magische half mir, danke! –

+0

Hinzufügen von "-Typ f" würde dies perfekt machen –

+0

Warum? Falls es ein Verzeichnis namens 'pom.xml' gibt? – Mzzl

2

in der Regel würden Sie mvn clean auf der übergeordneten pom ausgeben wollen, die alle Kinder definiert als Module reinigen würde, auch.

Wenn Sie nicht haben und nicht wollen, dass ein solches Mutter Sie Brute-Force für diesen Einsatz benötigen, etwas bedeutet wie

for dir in yourdirectory; 
do 
    cd $dir 
    if [ -f pom.xml ]; 
    then 
    mvn clean 
    fi 
done 
1

ich dieses Skript verwenden, nennt es mvn clean nur auf jenen Projekten, die gereinigt werden müssen (sie haben ein target Verzeichnis):

find . -name "target" -type d \ 
| sed s/target/pom.xml/ \ 
| tee /dev/stderr \ 
| xargs -I {} mvn -q clean -f {} 

Der tee Teil ist optional, er druckt nur das Projekt aus, dass wird gereinigt.

Verwandte Themen