Anda dapat menetapkan properti finalName untuk memberi jar nama yang Anda inginkan, dan menetapkan bahwa appendAssemblyId harus salah untuk menghindari sufiks "jar-with-dependencies".
Konfigurasi di bawah ini akan menampilkan jar yang disebut "test.jar"
<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>
Pembaruan: berdasarkan komentar Anda, menggunakan deskriptor internal tidak akan berfungsi. Saya yakin ini disebabkan oleh bug dalam versi terbaru dari plugin-assembly - mereka telah menghapus dukungan untuk pengklasifikasi, tetapi id diperbaiki jika Anda menggunakan deskriptor bawaan, jadi Anda akan mendapatkan nama yang besar.
Sebagai solusinya, Anda dapat menyalin deskriptor assembly yang digunakan oleh deskriptor jar-with-dependencies dan mengubah id.
Contoh ini akan menghasilkan id assembly yang ditambahkan ke finalName, jadi jika Anda perlu memiliki nama region-full.jar , Anda dapat menentukan finalName sebagai region dan id assembly sebagai full . Ini akan menghasilkan file dalam target yang disebut region-full.jar, tetapi perhatikan bahwa file itu masih akan diinstal ke repositori Maven sebagai artefak terlampir dengan full digunakan sebagai pengklasifikasi. Selama id ini berbeda dengan yang untuk perakitan Anda yang lain, seharusnya tidak ada tabrakan.
Konfigurasi pom akan terlihat seperti ini.
<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>
dan jar-assembly.xml di src / main / assembly seperti ini:
<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>