Использование maven-assembly-plugin для переименования артефактов zip - PullRequest
4 голосов
/ 12 сентября 2011

Я потратил бесчисленные часы, пытаясь решить эту проблему, но я все еще нахожусь в темноте и надеюсь, что кто-то может протянуть руку помощи. Вот моя ситуация:

  • У меня есть дескриптор сборки, который создает артефакт zip. Название этого zip происходит от artifact_id и версии, определенной в файле pom.xml. Я хотел бы изменить название этого артефакта. Я добавил элемент в моем pom в разделе плагинов, чтобы выглядеть так:

(finalName) somename. $ {Var1} - $ {var2} (/ finalName) -> Я использую скобки здесь вокруг элемента fileName, так как я не могу использовать скобки в этом редакторе.

Эти $ {var1} и $ {var2} определены во внешнем файле .properties. Для чтения в этих переменных я использую плагин properties-maven. Я не могу определить эти переменные в pom Потому что они меняются для каждого развертывания и не могут быть предоставлены из строки cmd. Когда я запускаю сборку mvn: single, артефакт zip создается как somename.null-null.zip. Похоже, что свойства, определенные в файлах .properties, являются нулевыми или не оцениваются. Когда я запускаю mvn в режиме отладки, я вижу, что ресурсы установлены правильно: var1 = что-то и var2 = что-то еще. Они оба имеют правильные значения. Я в растерянности прямо сейчас. Любая помощь будет принята с благодарностью.

1 Ответ

11 голосов
/ 04 октября 2011
<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>assembly:package</id>
                        <phase>package</phase>
                        .
                        .
                        <configuration>
                            <finalName>zipName</finalName>
                            <appendAssemblyId>false</appendAssemblyId>

                            <descriptors>
                            .
                            .
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
...