Tôi không tin là có, tôi cũng không nghĩ đó là một ý hay.
Từ sự hiểu biết của tôi, những gì bạn đang hướng tới để đạt được là có một thành phần giống như commons, sẽ được sử dụng cho một số mojos. Điều này yêu cầu phiên Maven hiện tại phải được chuyển vào & được sử dụng để sau đó trả về một giá trị.
Cách Maven hoạt động tuy nhiên, là nó chạy các mục tiêu từ các plugin trong một môi trường gần giống như vùng chứa. Mỗi plugin được phép hoạt động trong một số Maven Phase cụ thể, như được xác định bởi <executions />
. Điều này cho phép Maven tách biệt các phức tạp của việc xây dựng, thử nghiệm, kiểm tra, triển khai v.v. Gọi số mvn clean install
, trừ khi tôi nhầm lẫn, là hai lần thực thi riêng biệt, một để chạy clean
build lifecycle, tiếp theo là install
.
Do đó không an toàn để giả định rằng và MavenExecutionRequest
tiếp theo đại diện cho cùng một phiên bản được sử dụng trong cuộc gọi trước đó. clean
là một cuộc gọi riêng biệt, có logic không nên được duy trì trong một phiên mới. Vì vậy, những gì tôi về cơ bản nói, là trong khi có một thành phần plexus phổ biến là một thực hành tốt, đặc biệt để duy trì tính thống nhất trên mojos của bạn, nó là thực hành đúng (gần như ioc), để cung cấp các phiên thích hợp mỗi lần .
Tôi hy vọng đó là câu trả lời bạn đang tìm kiếm. Khá dài, nhưng để hiểu lý do tại sao bạn cần cung cấp phiên, hãy suy nghĩ Maven
.
Nguồn
2012-08-12 23:30:35
Tôi biết câu hỏi khá cũ. Thomas, bạn có muốn "tái sử dụng" phiên giống hệt nhau trong nhiều giai đoạn hay bạn chỉ cần tham chiếu đến MavenSession hiện tại của giai đoạn? –
Hmm .. nếu có, tôi đoán nó sẽ không được thread an toàn nữa. – eckes