Есть ли способ в Maven преобразовать значение свойства, например, с помощью простого вызова String.replace (), прежде чем значение будет подставлено в файл?
У меня есть ситуация, когда яя пытаюсь создать сборку, содержащую зависимости maven с определенной структурой каталогов.В частности, я хочу поместить каждый артефакт в структуру каталога, которая соответствует его groupId.Другими словами, если у меня есть артефакт org.example.app:library1:jar
, я хочу поместить его в каталог org/example/app/library1.jar
.
Я попытался создать дескриптор сборки, чтобы поместить зависимые артефакты в подкаталог, но я достигТочка, в которой я не могу преобразовать groupId (с точечной нотацией) в путь.Ниже приведена часть dependencySet используемого мной файла сборки.
<dependencySets>
<dependencySet>
<outputFileNameMapping>${artifact.groupId}/${artifact.artifactId}/${artifact.version}/${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<outputDirectory>.</outputDirectory>
<unpack>false</unpack>
<useTransitiveDependencies>true</useTransitiveDependencies>
<useTransitiveFiltering>false</useTransitiveFiltering>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
</dependencySets>
PS Я также исследовал режим хранилища подключаемого модуля сборки, но он содержит слишком много информации (например, хэши SHA1 и MD5, плюс файлы POM Maven).).