Làm cách nào để thay đổi tên chiến tranh được tạo bởi plugin lắp ráp maven


87

Làm cách nào để tôi có thể thay đổi tên từ 1.0.snapshot-jar-with-dependenciesmột tên khác, dưới đây là nội dung trong POM của tôi:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.package.example.MainClass</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

Câu trả lời:


168

Sử dụng phần sau trong cấu hình của maven-assembly-plugin:

<configuration>
  <finalName>custom-name</finalName>
  <appendAssemblyId>false</appendAssemblyId>
</configuration>

Chi tiết đầy đủ trong tài liệu chính thức của assembly:singlemojo.


8
lắp ráp: lắp ráp đã bị phản đối, hãy sử dụng lắp ráp: đơn
lordB8r

Cũng khá hữu ích khi sử dụng assembly: single với bộ mô tả định dạng "dir". Sử dụng "." có nghĩa là outputdir được chỉ định sẽ là dir đầu ra đúng
Peter Kahn

88

Bạn có thể đạt được điều này bằng cách chỉ định thuộc finalNametính trong pom của bạn, ví dụ:

<build>
    <finalName>something-else</finalName>
    ...
</build>

4
một lần nữa tôi nhận được một cái gì đó-else-jar-với-phụ thuộc này làm việc, làm thế nào tôi có thể thoát khỏi jar-với-phụ thuộc, khi tôi xóa descriptorRefs tôi nhận được build lỗi
Gandalf StormCrow

7
Thật vậy, bạn sẽ cần <appendAssemblyId>false</appendAssemblyId>thẻ theo gợi ý của Pascal.
bão tm

Lưu ý, hậu tố sẽ được thêm vào tên này.
Martin Serrano

5

Trong trường hợp đóng gói một JAR với các phụ thuộc, nó sẽ không hoạt động. Bạn sẽ sửa nó bằng cách sử dụng plugin phụ thuộc:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>project.group.id</groupId>
                                <artifactId>artifact-id</artifactId>
                                <version>0.0.1-SNAPSHOT</version>
                                <type>jar</type>
                                <overWrite>true</overWrite>
                                <outputDirectory>${basedir}/some/dir</outputDirectory>
                                <destFileName>custom-name.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                        <overWriteReleases>false</overWriteReleases>
                        <overWriteSnapshots>true</overWriteSnapshots>
                    </configuration>
                </execution>
            </executions>
        </plugin>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.