使用正则表达式将maven工件路径转换为GAV

时间:2015-01-05 16:27:49

标签: regex maven

如何捕获以下正则表达式组?目前我通过正常的字符串拆分捕获GAV。 我正在使用groovy / java。

示例输入:

repo1-cache/org/eclipse/jetty/jetty-server/7.1.0.RC1/jetty-server-7.1.0.RC1.jar

示例输出:

Group 1: org/eclipse/jetty
Group 2: jetty-server
Group 3: 7.1.0.RC1

示例输入2:

jboss-cache/antlr/antlr/2.7.7/antlr-2.7.7.jar

示例输出2:

Group 1: antlr
Group 2: antlr
Group 3: 2.7.7

2 个答案:

答案 0 :(得分:0)

您可以简单地使用下面的内容,我想这将返回一个数组(我不知道什么是Maven),然后您可以使用它来访问元素。

/(?<=\()([^)]+(?=\))/g

答案 1 :(得分:0)

虽然不使用正则表达式,但您可以使用maven索引器使用的相同逻辑来解析gavs的路径。对于maven 2存储库,M2GavCalculator中提供了逻辑。对于maven 1存储库,逻辑可在M1GavCalculator中找到。

您应该能够通过以下方式将其带入您的项目中:

<dependency>
  <groupId>org.apache.maven.indexer</groupId>
  <artifactId>indexer-core</artifactId>
  <version>5.1.1</version>
</dependency>