Sie können die Eigenschaft finalName angeben , um dem JAR den gewünschten Namen zu geben, und angeben, dass appendAssemblyId false sein soll, um das Suffix "jar-with-dependencies" zu vermeiden.
Die folgende Konfiguration gibt ein JAR mit dem Namen "test.jar" aus.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>test</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
</executions>
</plugin>
Update: Basierend auf Ihren Kommentaren funktioniert die Verwendung des integrierten Deskriptors nicht. Ich glaube, das liegt an einem Fehler in den jüngsten Versionen des Assembly-Plugins - sie haben die Unterstützung für Klassifizierer entfernt, aber die ID ist behoben, wenn Sie einen integrierten Deskriptor verwenden, sodass Sie einen großen blöden Namen erhalten.
Um dieses Problem zu umgehen, können Sie den vom JAR-with-Dependencies- Deskriptor verwendeten Assembly-Deskriptor kopieren und die ID ändern.
Dieses Beispiel würde dazu führen, dass die Assembly-ID an den endgültigen Namen angehängt wird. Wenn Sie also den Namen region-full.jar benötigen , können Sie den endgültigen Namen als Region und die Assembly-ID als vollständig angeben . Dies führt zu einer Datei im Ziel mit dem Namen region-full.jar. Beachten Sie jedoch, dass sie weiterhin als angefügtes Artefakt im Maven-Repository installiert wird, wobei full als Klassifizierer verwendet wird. Solange sich diese ID von der für Ihre andere Baugruppe unterscheidet, sollte es jedoch keine Kollision geben.
Die POM-Konfiguration würde so aussehen.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-4</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/jar-assembly.xml</descriptor>
</descriptors>
<finalName>region</finalName>
</configuration>
</execution>
</executions>
</plugin>
und die jar-Assembly.xml in src / main / Assembly wie folgt:
<assembly>
<id>full</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<unpack>true</unpack>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
</fileSet>
</fileSets>
</assembly>