2013-01-21 33 views
6

Tôi sử dụng kiến ​​để ký các lọ của tôi để triển khai bắt đầu từ web. Ant.signjar rất chậm khi bắt đầu ký web. Làm cách nào để tăng tốc quá trình ký?Làm thế nào để tăng tốc ký hiệu jar?

+1

Bạn đã ký bao nhiêu lọ? –

+1

+1, tôi gặp phải sự cố tương tự. Sẽ tốt nếu 'Ant' có thể kiểm tra nếu mục tiêu tồn tại và nó được ký, vì vậy chỉ cần bỏ qua việc ký lại. –

+0

Tôi tin rằng kiến ​​sẽ kiểm tra xem mục tiêu có được ký với khóa chính xác trước khi ký hay không. Đó là kinh nghiệm của tôi khi tôi sử dụng ant.signjar từ bên trong Gradle. (và tôi không sử dụng xây dựng gia tăng của Gradle với các đầu vào và đầu ra, đó là ant.signjar là bỏ qua ký). – Jason

Trả lời

2

Tôi đã tìm thấy một giải pháp khả thi.

Trước đó trong xây dựng kịch bản ant.signjar được gọi tuần tự cho tất cả các lọ (Chúng tôi sử dụng gradle cho xây dựng, hơn 20 MB dependecies). Bây giờ tôi sử dụng phương pháp GPAR thư viện groovy: withPool (4) và eachParallel {ant.signjar}. Nó là mát mẻ cho 2 lõi trong pc của tôi và 4 lõi trong xây dựng máy chủ. (nhanh hơn 3 lần)

Bí quyết thứ hai là bộ nhớ cache: chúng tôi sử dụng các ký hiệu được lưu trong bộ nhớ cache cho tất cả các phụ thuộc RELEASE/NON-SNAPSHOT. Khi chúng ta chạy xây dựng mà không cần làm sạch, nó chạy nhanh hơn vì sử dụng các thư viện đã được lưu trữ trong thư mục build.

+0

Đây chính xác là những gì tôi đang tìm kiếm, bạn đã làm cách nào để lưu trữ bộ nhớ đệm của bên thứ 3? Tôi đang sử dụng một repo nexus, nhưng tôi muốn đăng ký lọ trong repo này và không phải lo lắng về việc làm bất cứ điều gì hướng dẫn sử dụng khi chúng tôi nâng cấp phiên bản của phụ thuộc của chúng tôi. –

0

Tôi thường sử dụng 2 mục tiêu: một để ký toàn bộ dự án và một để chỉ ký các lọ của tôi. Vì vậy, sau này sẽ không ký lại phụ thuộc và làm cho quá trình ký kết nhanh hơn nhiều.

Các vấn đề liên quan