Подтвердить что ты не робот

Как построить проект с 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>-->
4b9b3361

Ответ 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>