如何构建没有版本的maven项目?
我有一个maven项目,我想在没有版本的情况下构建它 现在,当我使用maven构建项目时,它创建了这个如何构建没有版本的maven项目?,maven,Maven,我有一个maven项目,我想在没有版本的情况下构建它 现在,当我使用maven构建项目时,它创建了这个commonjerseylib-1.0.war,但我需要创建这个commonjerseylib.war 除此之外,我从pom.xml中删除了标记,但默认情况下,Maven仍然使用1.0版的war创建 Mypom.xml: <modelVersion>4.0.0</modelVersion> <groupId>commonjerseyli
commonjerseylib-1.0.war
,但我需要创建这个commonjerseylib.war
除此之外,我从pom.xml
中删除了
标记,但默认情况下,Maven仍然使用1.0版的war
创建
Mypom.xml
:
<modelVersion>4.0.0</modelVersion>
<groupId>commonjerseylib</groupId>
<artifactId>commonjerseylib</artifactId>
<packaging>ear</packaging>
<name>commonjerseylib</name>
<!--<version>1.0</version>-->
4.0.0
普通球衣
普通球衣
耳朵
普通球衣
如何在没有版本的情况下构建它?您将始终需要项目的版本号,但是可以通过POM中的
元素更改生成的包(JAR、WAR、EAR等)的名称
<project>
...
<build>
...
<finalName>${project.artifactId}</finalName>
...
</build>
...
</project>
...
...
${project.artifactId}
...
...
或者在maven的旧版本中:
...
<finalName>${artifactId}</finalName>
...
。。。
${artifactId}
...
默认情况下,最终名称是${project.artifactId}-${project.version}
,但可以更改为其他名称。这只会影响在target
目录中创建的包的名称;本地存储库中并上载到远程存储库的文件名将始终具有版本号
有关更多信息,请参阅。在maven war插件的内部版本中,更改
<warName> ${artifactId} </warName>
${artifactId}
..........
org.apache.maven.plugins
maven战争插件
2.3
假的
${artifactId}
.............
我用pom中下面的代码行修复了它
...
...
${project.artifactId}
...
…太完美了,干净又干净!至少在Maven 3.0.3中,${artifactId}被弃用,取而代之的是${project.artifactId}。@prunge:谢谢你的回答。您知道如何处理本地存储库和远程存储库中的文件名。请注意,从命令行重写(如
-Dproject.build.finalName=where
)不起作用。如果您希望能够在命令行上指定jar的名称,请参阅
<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>