使用 xmllint 获取 pom.xml 版本

2023-11-23

我有一个pom.xml as such

<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.qualtrics.sujitv</groupId>
  <artifactId>maven-test</artifactId>
  <packaging>jar</packaging>
  <version>1.2.3.4</version>
  <name>Test app</name>
  <url>http://maven.apache.org</url>

</project>

我正在尝试使用 xmllint 来获取版本,但是当我运行时

xmllint --xpath 'string(project/version)' ./pom.xml

它什么也不输出


由于您的 XML 使用名称空间,因此没有真正好的方法来做到这一点。对于直接 xpath 查询,如果可以安全地忽略名称空间,您可以执行以下操作:

$ xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' pom.xml

如果您想以“正确”的方式执行此操作,则需要启动 shell 来设置名称空间并输出所需的值。不幸的是,您必须清除输出中的提示。

$ xmllint --shell pom.xml <<< 'setns ns=http://maven.apache.org/POM/4.0.0
cat /ns:project/ns:version/text()'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 xmllint 获取 pom.xml 版本 的相关文章

随机推荐

  • 关系数据库中的空值可以吗? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 有一种观点认为关系数据库中不应允许空值 也就是说 表的属性 列 不应允许空值 来自软件开发背景的我真的不明白这一点 似乎如果 null 在属性的上下文中有效 那么就应该允许它 这在 J
  • Python PEP479 更改生成器内部的 StopIteration 处理

    有人可以帮助我了解 PEP479 的含义吗 我正在阅读文档 但无法理解它 摘要说 此 PEP 提议对生成器进行更改 当在生成器内引发 StopIteration 时 它会被替换为 RuntimeError 更准确地说 当异常即将从生成器的堆
  • 嵌入式应用程序中的内存管理资源

    我应该如何管理任务关键型嵌入式应用程序中的内存 我通过谷歌找到了一些文章 但无法找到真正有用的实用指南 The DO 178b禁止动态内存分配 但是如何管理内存呢 提前预分配所有内容并向每个需要分配的函数发送一个指针 分配到栈上 使用全局静
  • XAMPP MySQL 说:无法连接:无效设置

    MySQL 工作正常 然后无缘无故地每当我打开时就会出现此错误http localhost phpmyadmin 我在这里花了几个小时试图找到解决方案 但我尝试过的所有方法都不起作用 有人可以帮帮我吗 我正在使用 XAMPP版本 7 3 6
  • 使用 Yahoo YQL 查询 html

    在尝试使用雅虎查询语言和 YQL 提供的 xpath 功能解析 html 时 我遇到了无法提取 text 或属性值的问题 例如 永久链接 select from html where url http stackoverflow com a
  • 如何在 MongoDB 中使用 Map/Reduce?

    我无法理解 Map Reduce 在 MongoDB 中的工作原理 我有一个包含字段的集合 areacode state county zip city lat lon列出了美国的每个邮政编码以及相应的县 州等 我希望能够查询给定州的所有县
  • 在 iOS 上创建发光文本效果

    我们目前正在构建一个 iPhone 应用程序 希望文本具有发光效果 以适应现实的 UI 设计 这就是我们想要实现的目标 目前我们正在努力创造内部发光效果 因此我们将不胜感激 在 Photoshop 中这段文字有 颜色 98c1c1 外发光
  • Tomcat Java Servlet - 在应用程序启动时初始化类

    我有一个类需要一些时间来启动 进行一些 JNI 调用以及其他调用 因此每次加载页面时初始化此类是不可行的 是否可以在应用程序启动时初始化此类 然后在提供页面时访问其方法 例如 我有我的班级 当应用程序 tomcat 启动时 我希望它初始化
  • 退出 HttpClient 会话

    如何退出 HttpClient 会话 我使用以下代码使用 Apache HttpClient 登录到应用程序 public HttpClient loginToHexgen String username String password H
  • UML 类图:如何对调用方法或启动活动或服务的关系进行建模

    我正在创建我的第一个 Android 应用程序 我避免标记与用户或系统交互的关联 例如 我标记了starts反而单击时开始 我已经标记了starts反而检测开始时 然而读完之后this 我正在考虑改变starts协会由 gt 依赖关系 我很
  • CSS 居中内容的适当方法

    我更喜欢使用基于 CSS 的设计 但作为后端编码人员 我的 CSS 技能有点弱 当我涉及布局时 我倾向于依靠基于表格的格式 因为我的思想已经被多年来基于表格的滥用所扭曲 有一个特别的问题我总是被绊倒 最好的 CSS 替代品是什么 table
  • 保护 Rails 登台环境的密码

    我正在尝试找出保护我的暂存环境的最佳方法是什么 目前我在同一台服务器上运行登台和生产 我能想到的两个选择是 使用 Rails 摘要身份验证 我可以把这样的东西放在 application controller rb 中 Password p
  • 使用 Opencv 模糊矩形中的内容

    在下面的矩形函数中 绘制矩形 Draw the predicted bounding box void drawPred int classId float conf int left int top int right int botto
  • 删除void指针是否保证删除正确的大小? [复制]

    这个问题在这里已经有答案了 可能的重复 删除空指针安全吗 说我有一个new分配给一个名为MyClass分配很简单 MyClass myClassPtr new MyClass 我存储了对列表的引用void 我简单地说 myListOfPoi
  • Pandas Dataframe 添加标头而不替换当前标头

    如何向 DF 添加标头而不替换当前标头 换句话说 我只想将当前标题向下移动并将其作为另一条记录添加到数据帧中 第二个问题 如何将表 示例数据框 添加到 stackoverflow 问题中 我有这个 注意标题以及如何将其添加为一行 0 213
  • 无法加载“RealmSwift”的底层模块

    我正在尝试通过 Cocoapods 安装 Realm for Swift 首先我做的是pod init进入我的项目然后我打开 podfile 并将其更改如下 target Taskio do use frameworks pod Realm
  • 如何防止在 VBA 中触发 ActiveX 事件?

    我正在寻找一种更好的方法来禁用 ActiveX 事件在 Excel 工作簿中触发 尽管这适用于所有具有 ActiveX 对象的 Office 应用程序 希望类似的东西Application EnableEvents false 尽管这不适用
  • 使用百分比和最大宽度将图像裁剪为正方形

    工作响应式网站 所以我不能使用设置的宽度 我需要将图片全部裁剪为正方形 我无法定义精确的测量值 因为它还需要有max width 100 为了使其成为响应式图像 它可以相对于容器 相对于浏览器的宽度 调整其大小 我见过很多建议使用的解决方案
  • 给定一个整数数组,找到具有最大乘积的相邻元素对并返回该乘积

    给定一个整数数组 找到具有最大乘积的相邻元素对并返回该乘积 这是我的代码 function adjacentElementsProduct inputArray var arr inputArray var x 0 var y 0 var
  • 使用 xmllint 获取 pom.xml 版本

    我有一个pom xml as such