Tôi đang sử dụng maven-assembly-plugin để xây dựng một tập tin thực thi, khối nguyên khối với các phụ thuộc. Tôi cũng đang sử dụng tính năng lọc tài nguyên để thiết lập một số thuộc tính tùy chỉnh, đặc trưng làn đường (dev, giai đoạn, sản phẩm, v.v.).Bao gồm tên hồ sơ Maven trong assembly-plugin được xây dựng (với phụ thuộc) jar
Làm cách nào để đặt tên cuối cùng của lọ bao gồm tên ngõ (dev, stage, prod, etc)?
Tôi muốn các mvn sau lệnh để cho kết quả trong lọ mà giống như thế này:
- mvn clean install -P DEV - cài đặt> ws-client-DEV.jar
- mvn sạch -P GIAI ĐOẠN -> ws-client-STAGE.jar
- mvn clean install PROD -P -> ws-client-PROD.jar
có một tài sản maven nơi nào đó tôi không thể tìm thấy? Tôi muốn tránh sử dụng một đối số dòng lệnh dư thừa nếu có thể (ví dụ - 'mvn clean install -P DEV -Dlane = DEV').
Dưới đây là cấu hình lắp ráp Plugin của tôi:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>ws-client</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>Example</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Tuyệt vời, đã làm việc rất đẹp! – chadmaughan
Tên cuối cùng sẽ không hoạt động trên tạo phẩm được triển khai chỉ trên tạo phẩm được lưu trữ trong thư mục đích trong lần chạy hiện tại của bạn. – khmarbaise
@khmarbaise - Đúng. Đối với cách sử dụng cụ thể này, bình đang được phân phối bên ngoài một kho lưu trữ (tôi biết, không lý tưởng). Tôi muốn có một dấu hiệu trực quan để người tiêu dùng "mavenless" biết những gì làn đường và tài sản họ đang sử dụng bằng cách chỉ đơn giản là liếc nhìn tập tin jar trên classpath của họ. – chadmaughan