使用xmstarlet从maven pom.xml中查找特定的groupId



我试图使用xmlstarlet从Maven POM.XML中找到一个特定的groupId和artifactId,但没有成功。这是我正在使用的命令:

xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t 
     -m "/pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[.//pom:groupId=com.mygroup.xxx]"  
     -v '.' pom.xml 

感谢您的帮助。

编辑:感谢npostavs,对于其他有相同问题的人,也可以组合更多的表达式并根据更多元素过滤结果:

  xmlstarlet sel -N pom=http://maven.apache.org/POM/4.0.0 -t -m "/pom:project/pom:dependencyManagement/pom:dependencies/dependency[.//pom:groupId='com.mygroup.xxx'][.//pom:artifactId='myartifact-xxx']" -v '.' pom.xml

pom:groupId=com.mygroup.xxx

您需要在字符串文字pom:groupId='com.mygroup.xxx'周围加引号,否则它将查找名为com.mygroup.xxx的XML元素。

最新更新