Tôi có một ứng dụng JSF 2 bao gồm một tệp jar có chứa một tệp faces-config.xml trong thư mục META-INF của nó. Hàm faces-config.xml chứa một khai báo của một bộ nghe pha. Tôi muốn ngăn chặn việc cài đặt này nghe giai đoạn mà không sửa đổi các tập tin jar chính nó. Điều này có khả thi không?Ngăn chặn cài đặt trình lắng nghe pha từ lọ được bao gồm trong jsf 2
Trả lời
Bạn không thể chặn các phần cụ thể của faces-config.xml
trong JAR của bên thứ ba khỏi bị diễn giải.
Bạn có về cơ bản 2 lựa chọn:
Khối cả
faces-config.xml
trong một JAR bên thứ 3 từ được giải thích bằng cách thêmmetadata-complete="true"
để webapp của riêngfaces-config.xml
.<faces-config ... metadata-complete="true">
Lưu ý rằng điều này cũng bỏ qua chú thích quét trong các lớp của JAR của bên thứ ba. Về cơ bản bạn cần phải xác định lại các phần cụ thể mà bạn muốn sử dụng trong trang web
faces-config.xml
của webapp.Cung cấp một tùy chỉnh
Lifecycle
thực hiện quaLifecycleFactory
mà bạn đăng ký trong<factory><lifecycle-factory>
của webapp củafaces-config.xml
. Trong triển khai đó, ghi đèaddPhaseListener()
tương ứng để thực hiện ví dụ: một kiểm trainstanceof
trước khi bỏ qua hoặc tiếp tục.
- 1. Trình lắng nghe chrome.webRequest.onAuthRequired
- 2. Lắng nghe tất cả các sự kiện trong Symfony 2
- 3. Cách JSF 2.0 ngăn chặn CSRF
- 4. Bao gồm nhiều lọ với classpathentry
- 5. Lắng nghe ACTION_SCREEN_OFF
- 6. Ngăn chặn kết quả cài đặt trong R
- 7. NSIS - Cách bao gồm tất cả các thư mục từ nguồn đến Trình cài đặt
- 8. Sử dụng jquery ajax để gọi phương thức bean được quản lý jsf (một trình xử lý lắng nghe AjaxsjiorEvent)
- 9. Ngăn chặn cảnh báo về cài đặt Macports/Fink
- 10. Nút nghe Onclick trong bố cục bao gồm
- 11. Không thể "pha cài đặt postgresql"
- 12. Vui lòng bao gồm kCFBundleIdentifierKey trong từ điển tùy chọn khi cài đặt một ứng dụng
- 13. Trình lắng nghe đăng xuất SDK Android của Android
- 14. Cách bao gồm các tùy chọn được chuyển đến trình cài đặt npm khi bao gồm các phụ thuộc trong package.json
- 15. Không bao gồm các gói từ các lọ trong bộ mô tả lắp ráp maven
- 16. Ngăn chặn MacPorts cài đặt gói dựng sẵn?
- 17. Trình lắng nghe khởi tạo mô-đun EJB
- 18. Android ExpandableListView Trình nghe nhấp vào nhóm dài ngăn chặn mở rộng
- 19. Nhấp vào trình lắng nghe jQuery không hoạt động
- 20. Cài đặt chiều rộng đệm/lề bao gồm?
- 21. Lắng nghe một chức năng được gọi là JavaScript
- 22. Không thể bao gồm gói lê chắc chắn tồn tại (và được cài đặt)
- 23. bao gồm tệp từ xa trong PHP
- 24. Cài đặt một lọ cắm đồng bằng trong Eclipse 3.5
- 25. Ngăn chặn/Chặn BroadcastReceiver trong một ứng dụng khác
- 26. Ba bản đồ bao gồm 2 phím
- 27. Bao gồm js từ raw.github.com
- 28. xây dựng một cái lọ và bao gồm nó trong một zip với maven-assembly-plugin
- 29. ExtJS Lưới - Click lắng nghe sự kiện
- 30. JSF 2 Quản lý phân phối chất lỏng từ hạt phụ thuộc
tùy chọn 2 có lẽ là điều đơn giản nhất đối với tôi khi xem xét có nhiều thư viện của bên thứ ba khác mà tôi muốn hoạt động đúng cách. – cyberoblivion
Tùy chọn thứ ba, ngoài tầm kiểm soát của bạn, sẽ đăng yêu cầu tính năng cho nhà cung cấp thư viện mà người nghe giai đoạn phải bỏ qua công việc của mình khi, ví dụ: một tham số ngữ cảnh nhất định, hoặc tham số yêu cầu, hoặc thuộc tính phiên, hoặc thậm chí một biến môi trường có mặt, tùy thuộc vào công việc/trách nhiệm thực tế của người nghe giai đoạn. – BalusC