Trong dự án Java của tôi, tôi đang sử dụng hai khung công tác khác nhau (giả sử A.jar và B.jar) và cả hai đều yêu cầu một khung công tác chung (ví dụ như Log4j.jar) nhưng trong hai phiên bản khác nhau. Làm thế nào nó được xử lý bởi Java nếu khung A cần Log4J v1.1 và B cần Log4j v1.2? Nó sẽ gây ra một số loại xung đột/lỗi hoặc sẽ bằng cách nào đó (như thế nào?) Giải quyết?Điều gì sẽ xảy ra khi hai khung công tác Java cần thứ ba nhưng mỗi một trong hai cần phiên bản thứ ba khác nhau?
Nếu nó không gây xung đột/lỗi (dự án của tôi có thể được biên soạn và chạy) - tôi có thể sử dụng bất kỳ phiên bản nào của Log4j trong dự án này không? Hoặc tôi buộc phải chọn số phiên bản thấp hơn/cao hơn của Log4j?
Cập nhật:cụ thể hơn ... gì nếu một số phần của Log4j API thay đổi trong v1.2 (giả sử một phương pháp duy nhất DoIT() chữ ký thay đổi) và cả A và B gọi DoIT. Chuyện gì sẽ xảy ra? Dự án của tôi có chạy không? Nó sẽ sụp đổ về việc sử dụng đầu tiên của doIt? Phiên bản nào của Log4j tôi phải đặt trên classpath - v1.2 hoặc cả hai?
Không có câu trả lời chung cho điều này, bạn cần phải cụ thể hơn – skaffman
@skaffman - ok, tôi đã thêm một số thông tin và câu hỏi bổ sung. .. – WildWezyr