Tôi có tệp pom.xml điển hình và muốn in nhómId, artifactId và phiên bản, được phân cách bằng dấu hai chấm. Tôi nghĩ rằng XMLStarlet là công cụ thích hợp cho điều đó. Tôi đã thử nhiều cách, nhưng tôi luôn nhận được một dòng trống.XMLStarlet không chọn bất kỳ thứ gì
xml sel -t -m project -v groupId -o : -v artifactId -o : -v version pom.xml
sản lượng dự kiến:
org.something.apps:app-acct:5.4
đầu ra thật: trống dòng
Thậm chí nếu tôi cố gắng in chỉ là groupId Tôi nhận được gì:
Tôi chắc chắn rằng công cụ nhìn thấy các yếu tố bởi vì tôi có thể liệt kê chúng mà không có vấn đề:
xml el pom.xml
in như sau (chính xác):
project
project/modelVersion
project/parent
project/parent/groupId
project/parent/artifactId
project/parent/version
project/groupId
project/artifactId
project/version
project/packaging
Có chuyện gì vậy?
Dưới đây là phiên bản cắt giảm của pom.xml:
<?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>
<parent>
<groupId>org.something</groupId>
<artifactId>base</artifactId>
<version>1.16</version>
</parent>
<groupId>org.something.apps</groupId>
<artifactId>app-acct</artifactId>
<version>5.4</version>
<packaging>war</packaging>
</project>
Nhận xét của bạn về các phần tử tiền tố với (bí danh cho?) Không gian tên được khai báo là sự khác biệt quan trọng đối với tài liệu được liên kết. – chernevik