Mỗi ứng dụng web có Classloader riêng (cô lập chúng). Khi bạn gọi phương thức Class.forName (), có một khối tĩnh đang cố tải thư viện được chia sẻ (tệp dll) - vì vậy cả hai ứng dụng web của bạn đều đang cố tải lib được chia sẻ, do đó thông báo lỗi khi cái thứ hai cố gắng tải.
JDBC jar mà bạn có cho sqlserver nên được chuyển từ bị đóng gói với các cuộc chiến của bạn, sang tomcat 7.0/lib
và sao chép sqljdbc_auth.dll vào thư mục tomcat / bin - theo cách này, nó sẽ nằm trong trình tải lớp cha tomcat và lớp sẽ chỉ được tải một lần.
|----------------------------------|
| sqljdbc*.jar --> tomcat*/lib |
|----------------------------------|
| sqljdbc_auth.dll --> tomcat*/bin |
|----------------------------------|