Điều này có thể được thực hiện bằng nhiều cách. Tôi nghĩ rằng cách này là đơn giản nhất:
- Move tập tin WAR bên ngoài của thư mục
webapps/
tự động triển khai
- Extract
META-INF/context.xml
từ tập tin WAR của bạn. Nếu WAR của bạn không có tệp META-INF/context.xml
, chỉ cần sử dụng tệp không có gì nhưng <Context />
trong đó
- Sao chép tệp này vào thư mục
conf/[service]/[host]/
của Tomcat là cả hai app1.xml
và app2.xml
. ([Dịch vụ] thường là "Catalina" và [host] là tên của máy chủ ảo của bạn là: trên cấu hình Tomcat mặc định, tên máy chủ luôn là "localhost").
- Sửa cả
app1.xml
và app2.xml
và thiết lập các thuộc tính docBase
cho các phần tử <Context>
để trỏ đến file WAR bạn di chuyển trong bướC# 1
- Re-start Tomcat
này phải cung cấp cho bạn một vật lý duy nhất Tệp WAR và nhiều bối cảnh được triển khai từ nó. Mặc dù Tomcat hỗ trợ cấu hình này, tôi khuyên bạn nên chống lại nó: không gian đĩa rẻ, nó không thay đổi gì khi chạy (bạn vẫn nhận được hai bản sao của mọi thứ trong bộ nhớ), và bạn mất khả năng linh hoạt triển khai các tệp WAR khác nhau và/hoặc cập nhật riêng chúng mà không cần sửa đổi cấu hình của cả hai ngữ cảnh.
Nếu bạn muốn lời khuyên của tôi, hãy dính vào các tệp WAR trùng lặp.
Nguồn
2012-07-31 01:34:41
Nếu nó vẫn là cùng một webapp (chia sẻ cùng một dữ liệu cục bộ) hoặc nên các ứng dụng web thực sự là trường hợp riêng biệt? – Daniel