Я застрял с проблемой, когда у меня есть несколько внешних зависимостей в Maven.
У меня есть сторонние библиотеки, которые вместе образуют выпуск продукта. Сторонний продукт не использует maven и не предоставляет файл pom, поэтому я застрял с набором связанных .jar-файлов, точная связь которых я не знаю, за исключением того, что они все принадлежат друг другу.
Скажите, у меня есть эти файлы:
- mail.jar
- pe.jar
- xpp3-1.1.3.4.M.jar
Все они являются частью одной и той же «версии» продукта, скажем, версии 2.0. Когда я собираю этот проект с помощью maven, я попадаю в папку / target / MyProject и файл MyProject.war, файлы со следующими именами:
- почта-2.0.jar
- ре-2.0.jar
- xpp3-1.1.3.4.M-2.0.jar
Как я могу сказать maven исключить эти теги версий во время сборки, чтобы я получил эти имена файлов в моей окончательной сборке?
- mail.jar
- pe.jar
- xpp3-1.1.3.4.M.jar
Я посмотрел на maven-war-plugin: 2.2 ->, по умолчанию:
<outputFileNameMapping>${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-> Выдает ошибку: не удалось скопировать файл для артефакта [..]: неверный аргумент
Кроме того, моя версия ...
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
... дает странные имена файлов:
com.foo.bar-${artifact.artifactId}.${artifact.extension}
(без расширения, без перевода свойств)
Что я делаю не так?