2013-02-25 27 views
5

Có đúng không, trong trường hợp các lớp trùng lặp, mục trong "lớp học" sẽ được thực hiện?Lớp học hoặc Jar, ai thắng?

xem xét trong một ứng dụng web lớp A sẽ có sẵn trực tiếp trong

WEB-INF/classes

và một phần của một jar trong

WEB-INF/lib

Người trong lớp luôn giành chiến thắng?

+0

Ít nhất là từ kinh nghiệm của tôi với các máy chủ ứng dụng và thùng chứa servlet khác nhau, tôi muốn nói "có", nhưng tôi không chắc liệu đây có phải là định nghĩa hay chỉ bằng "sử dụng chung". Câu hỏi thú vị, mặc dù. –

+0

Dường như vậy. Liên kết sau có thể hữu ích: http://stackoverflow.com/questions/4739302/web-inf-classes-vs-web-inf-lib –

+0

theo như tôi biết điều này không được chỉ định trong tiêu chuẩn. các máy chủ ứng dụng khác nhau hoạt động rất khác nhau. weblogic và jboss sẽ chọn bình được cung cấp bởi máy chủ ứng dụng trước. – opi

Trả lời

2

Điều này phụ thuộc vào đường dẫn lớp - mục nhập classpath đến trước tiên sẽ giành chiến thắng ban đầu. Ngoài ra, nếu có nhiều trình nạp lớp, trình nạp lớp đã tải lớp phụ thuộc sẽ được thử trước tiên. Nó không nên phụ thuộc vào nếu các lớp học trong jar hay không. Tài liệu here.

Nói chung, đừng làm điều này vì có nhiều lớp cùng tên là một công thức thực sự cho thảm họa.

+0

** nhiều lớp dưới cùng tên là một công thức thực sự cho thảm họa ** chắc chắn, nhưng những gì khác có thể được thực hiện trong một ứng dụng web phức tạp (hơn 100 lọ), khi bạn không kiểm soát việc xây dựng các lọ? –

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