Я знаю, что отвечаю на старую ветку, но мне нужно было выполнить вышеизложенное и найти эту ветку полезной. Я нашел способ добиться этого, выполнив двухэтапный процесс:
- Используйте подключаемый модуль maven-war-plugin, чтобы исключить исходный файл jar из доставляемого файла.
- Используйте плагин maven-dependency-plugin, чтобы скопировать исходный файл jar в файл с новым именем jar и поместить его в каталог WEB-INF / lib.
Итак, в качестве иллюстрации, это как указать файл, который вы хотите исключить. В этом случае x-1.0.jar:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<!-- Exclude file: x-1.0.jar from packaging -->
<packagingExcludes>WEB-INF/lib/x-1.0.jar</packagingExcludes>
</configuration>
</plugin>
Также укажите, что должна быть выполнена копия файла с новым именем (x-1.0.final.jar), но это необходимо для запуска ПЕРЕД упаковкой. Это определяется этапом: 'prepare-package':
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>the group of the x jar</groupId>
<artifactId>x</artifactId>
<type>jar</type>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<destFileName>x-1.0.final.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
В моем примере я не жестко программировал 1.0, но я думаю, что это должно работать для оригинального вопроса об авторах.