1

バージョンノードの値を変更するために、pom ファイルの変更に取り組んでいます。xpath を取得してすべてのバージョン ノードを変更できますが、artifactId と分類子の両方が特定の値に一致する場合にのみ、バージョン ノードを変更したいと考えています。ここに私のxmlがあります:

<artifactItem>
    <groupId>com.xyz</groupId>
    <artifactId>foobar</artifactId>
    <version>${project.version}</version>
    <classifier>config</classifier>
    <type>zip</type>
    <overWrite>true</overWrite>
</artifactItem>
<artifactItem>
    <groupId>com.xyz</groupId>
    <artifactId>foobar</artifactId>
    <version>${project.version}</version>
    <type>jar</type>
</artifactItem>

artifactId が foobar で、classifier が config の場合、バージョンを返して変更できるようにします。

私が見つけた他の例を使用して、これを試しましたが、うまくいきませんでした:

/artifactItem/artifactId[.='foobar']
     /following-sibling::*
      [count(.|/artifactItem/classifier[. ='config']/preceding-sibling::*)
      =
      count(/artifactItem/classifier[. ='config']/preceding-sibling::*)
      ] 

どんな提案でも大歓迎です!

ありがとう

4

1 に答える 1

0
//artifactItem[artifactId='foobar' and classifier='config']/version

説明する:

「foobar」のartifactIdと「config」の分類子を持つartifactItemノードからバージョンノードを選択しています。

ブラケットを使用して、コンテキストがブラケットの前のノードである sub-XPATH ステートメントを使用して特定のノードを修飾します。

これはあなたが探しているものですか?

于 2012-06-20T14:23:38.580 に答える