Как построить проект с maven без версии
в одном из моих проектов мне нужно построить один проект без версии.
У меня есть один вызов проекта commonjerseylib, когда я его создаю, используя maven, я получаю commonjerseylib-1.0.war, но мне нужно имя файла войны commonjerseylib.war
Я удаляю тег версии из pom, но по умолчанию maven создает версию 1.0.
Заранее благодарю
<modelVersion>4.0.0</modelVersion>
<groupId>commonjerseylib</groupId>
<artifactId>commonjerseylib</artifactId>
<packaging>ear</packaging>
<name>commonjerseylib</name>
<!--<version>1.0</version>-->
Ответы
Ответ 1
Вам всегда нужен номер версии для проекта, однако можно изменить имя сгенерированного пакета (JAR, WAR, EAR и т.д.) через элемент <finalName>
в POM.
<project>
...
<build>
...
<finalName>${project.artifactId}</finalName>
...
</build>
...
</project>
или в более старых версиях maven:
...
<finalName>${artifactId}</finalName>
...
По умолчанию finalName имеет значение ${project.artifactId}-${project.version}
, но это может быть изменено на другое. Это повлияет только на имя пакета, созданного в каталоге target
; имя файла в локальном репозитории и загруженные в удаленные репозитории всегда будут иметь номер версии.
Дополнительную информацию см. в справочной документации по POM.
Ответ 2
в maven war plugin в сборке, измените
<warName> ${artifactId} </warName>
<build>
..........
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<!-- web.xml is not mandatory since JavaEE 5 -->
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${artifactId}</warName>
</configuration>
</plugin>
.............
<build>