如果Maven创建了一堆Jar文件。它们的名称包括artifactId和版本号。我想从Jar文件名中提取artifactId和版本号。但是,事实证明这远非易事。我有 qpid-broker-plugins-amqp-0-8-protocol-7.0.6.jar 之类的文件名,其中有两个部分看起来像版本号(0-8和7.0.6) ),但只有后者是版本。然后是 adminpages-4.11.0-beta-20191212-150315-7eec2eb4c.jar ,其中4.11.0-beta-20191212-150315-7eec2eb4c是版本。因此,我的问题是,是否存在一种安全可靠的方法来从Jar文件名中提取版本号?
答案 0 :(得分:1)
否。
文件名通常采用以下格式
artifactId-version-classifier.extension
如果分类器不为空,否则
artifactId-version.extension
所有三个元素(artifactId
,version
,classifier
)可以是任意字符串。
如果需要查找给定jar的坐标,则还有其他更可靠的方法。