在我的一个项目中,我需要构建一个没有版本的项目。 我有一个项目调用commonjerseylib当我使用maven构建它我得到commonjerseylib-1.0.war但我需要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>-->
答案 0 :(得分:130)
您将始终需要项目的版本号,但是可以通过POM中的<finalName>
元素更改生成的包的名称(JAR,WAR,EAR等)。
<project>
...
<build>
...
<finalName>${project.artifactId}</finalName>
...
</build>
...
</project>
或旧版本的maven:
...
<finalName>${artifactId}</finalName>
...
默认情况下,finalName为${project.artifactId}-${project.version}
,但可以将其更改为其他名称。这只会影响在target
目录中创建的包的名称;本地存储库中的文件名并上传到远程存储库将始终具有版本号。
有关详细信息,请参阅POM reference documentation。
答案 1 :(得分:9)
在构建中的maven war插件中,更改
<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>
答案 2 :(得分:0)
我使用pom中的以下代码行对其进行了修复
... ... $ {project.artifactId} ... ...