我想读取pom.xml(Maven的“项目对象模型”)并提取版本信息。这是一个例子:
<?xml version="1.0" encoding="UTF-8"?><project
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>project-parent</artifactId>
<name>project-parent</name>
<version>1.0.74-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.sybase.jconnect</groupId>
<artifactId>jconnect</artifactId>
<version>6.05-26023</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>
如何从上方提取版本“ 1.0.74-SNAPSHOT”?
希望能够使用简单的bash脚本sed或awk做到这一点。否则,首选简单的python。
编辑
约束
linux盒位于公司环境中,因此我只能使用已经安装的工具(不是我不能请求xml2之类的实用程序,但是我必须经过很多繁文ta节)。一些解决方案非常好(已经学习了一些新技巧),但是由于环境受限,它们可能不适用
更新的xml清单
我将依赖项标签添加到原始列表中。这将显示某些hacky解决方案在这种情况下可能无法正常工作
发行版
我正在使用的发行版是RHEL4