[sed/XSLT] Abhängigkeiten in maven Submodulen ändern?

Hallo,

ich habe beim Erstellen meiner Submodule etwas geschludert und nun steht in vielen POMs eine feste Abhängigkeit zu externen Libs (beispielsweise commons-lang) wie hier zu sehen:

Jetzt ist die Version 2.1 ja schon etwas angestaubt und ich möche die Version für commons-lang in allen POMs durch eine Variable ersetzen, die ich in der Haupt-POM definieren will.

Das Finden der Poms bekomme ich mit schon gut hin. Was mir fehlt ist ein sed-Ausdruck oder eine XSLT um die Version der commons-lang zu ersetzen.

Mein Ansatz findet leider den die Kombination <artefactId> <version> nicht…

$ sed 'N;s/\(commons-lang<\/artifact.*
.*<version>\)2.1/
\1${commons-lang.version}/' pom.xml 

Die Reihenfolge der Tags innerhalb der Dependency ist in allen POMs gleich.

Weis jemand, wie mein sed-Ausdruck verbessert werden kann oder hat mal eben eine XSLT parat?

[Edit:] wenn jemend weis wie maven das selber kann dann bitte hier beantworten.

bye
TT

Wie wäre es damit:

sed '/<artifactId>commons-lang<\/artifactId>/{n;s/\(<version>\)2\.1</\1${commons-lang.version}</}' pom.xml

*** Edit ***

Falls du das DependencyMangement Element benutzen möchtest, wie @maki es beschrieben hat, müsstest du wohl die Versionszeilen löschen. Das ginge so:

sed '/<artifactId>commons-lang<\/artifactId>/{n;d}' pom.xml

oder sicherer

sed '/<artifactId>commons-lang<\/artifactId>/{n;/<version>/d}'