Reputation: 21
When I am performing a maven release:perform the name of the files generated are with the build version meaning:artifactId.version . I need that at least the name of the war generated when doing perform will be only the artifactId name.
my pom is here:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>me.tingz</groupId>
<artifactId>dashboard</artifactId>
<packaging>war</packaging>
<version>15-SNAPSHOT</version>
<name>dashboard Maven Webapp</name>
<url>http://maven.apache.org</url>
<distributionManagement>
<repository>
<id>google</id>
<url>file:/home/ziv/Documents/dashboard/versions/</url>
</repository>
</distributionManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
<build>
<finalName>dashboard</finalName>
<plugins>
<!-- Release plugin Test!!!! -->
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<tagBase>
file:/home/ziv/tag
</tagBase>
<checkModificationExcludes>
<checkModificationExclude>pom.xml</checkModificationExclude>
</checkModificationExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.9.4</version>
<configuration>
<username>zivziv</username>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<scm>
<connection>xxx</connection>
<developerConnection>xxxd</developerConnection>
<tag>dashboard-11</tag>
</scm>
</project>
Upvotes: 2
Views: 1024
Reputation: 2326
The Maven Release plugin does not "generate" any files. The other plugins involved in the Maven build lifecycle, e.g. the jar plugin, do generate files. So setting the "finalName" as you did should do the trick, as far as "generation" is involved.
What the Release plugin does is
The latter one does ALWAYS require a Maven GAV - and the V is for Version. Otherwise, the Release would not be unique. So if you want the Release plugin to deploy an artifact to a repository without a version in its name, you will fail. This is impossible by definition.
You should think about not using the Release plugin at all - after all, it's a crappy plugin. See e.g. https://axelfontaine.com/blog/final-nail.html
Consider using the wagon-maven-plugin for achieving your goal: http://www.mojohaus.org/wagon-maven-plugin/
Upvotes: 2