Tomcat tài liệu (http://tomcat.apache.org/tomcat-6.0-doc/config/context.html)cập nhật Tomcat context.xml nhưng không nên
Chỉ khi một tập tin bối cảnh không tồn tại cho ứng dụng trong số $ CATALINA_BASE/conf/[enginename]/[tên máy chủ] /, trong một tệp riêng lẻ tại /META-INF/context.xml bên trong tệp ứng dụng. Nếu ứng dụng web được đóng gói như một WAR thì /META-INF/context.xml sẽ là được sao chép sang $ CATALINA_BASE/conf/[enginename]/[tên máy chủ]/và đổi tên thành khớp với đường dẫn ngữ cảnh của ứng dụng. Khi tệp này tồn tại, nó sẽ không được thay thế nếu một WAR mới với /META-INF/context.xml mới hơn là được đặt trong appBase của máy chủ.
Chữ in đậm rõ ràng. Nhưng tôi thông báo là không đúng sự thật. (Tôi cần chính xác hành vi này)
Dưới đây là các bước:
- aaa.war với context.xml đưa vào META-INF
- bản sao cho webapps. tomcat triển khai. Nộp
conf\Catalina\localhost\aaa.xml
OK - thay đổi bằng cách thay đổi aaa.war META-INF/context.xml
- bản sao cho webapps
- file
conf\Catalina\localhost\aaa.xml
được thay đổi !!!
Điều gì là sai? Nó là một lỗi hoặc một tính năng ẩn?
Bối cảnh - vấn đề tôi muốn giải quyết:
Xây dựng và cài đặt độc lập cấu hình. Tôi trồng tàu chiến. Khách hàng cho mỗi cấu hình Tomcat của mình bằng cách sử dụng các thiết lập của riêng mình. khi tôi phát hành bản phát hành mới, tôi chỉ phân phối chiến tranh mà không cần cấu hình và khi được triển khai, nó sẽ sử dụng cấu hình máy khách cụ thể.
Bằng tài liệu, nơi tốt nhất là context.xml Nhưng nếu ghi đè lên mỗi lần nó không có ý nghĩa gì cả. (Tại sao tôi sẽ sử dụng JNDI và như vậy một điều nếu chuyển giao mới đã để tạo ra thay đổi điều gì đó trong xây dựng thời gian không phải là một lợi thế cấu hình lớn?.)
Môi trường: cửa sổ, tomcat 6.0.33
Vấn đề tương tự: http://stackoverflow.com/questions/4158468/tomcat-context-management – takacsot
Câu trả lời đã được trình bày trong trang web này: http://stackoverflow.com/questions/7142365/how-to-provide-a -context-configuration-for-a-web-ứng dụng-under-tomcat – takacsot