2012-05-28 41 views
11

Tôi muốn cập nhật ứng dụng JSF của mình để sử dụng phiên bản Mojarra 2.1.8. Tôi đã thêm những dòng này vào tệp POM của gói WAR:Cách cập nhật phiên bản Mojarra trong GlassFish

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.faces</artifactId> 
    <version>2.1.8</version> 
</dependency> 

Tôi cũng đã thêm kho lưu trữ JSF. Tôi gói được xây dựng thành công với phiên bản Mojarra 2.1.8. Nhưng khi tôi mở nhật ký GlassFish tôi thấy rằng có một phiên bản Mojarra 2.1.6 được triển khai. Tôi đang thiếu gì? Tôi có cần phải thực hiện một số cấu hình vào máy chủ GlassFish không?

Trả lời

17

GlassChính nó đã được đóng gói bằng gói JSF được ưu tiên tải lớp mặc định so với gói được sắp xếp trong ứng dụng web. Về cơ bản, bạn cần phải nói với GlassFish để sử dụng webapp đi kèm JSF thay thế.

Chỉnh sửa của /WEB-INF/glassfish-web.xml (hoặc /WEB-INF/sun-web.xml nếu bạn đang sử dụng một trong những phiên bản đầu tiên GF3) để thêm hai mục sau webapp:

<class-loader delegate="false" /> 
<property name="useBundledJsf" value="true" /> 

GlassFish sau đó sẽ sử dụng webapp kèm JSF để thay thế.

Ngoài ra, nếu bạn có toàn quyền quản lý đối với GlassFish, bạn cũng có thể sao chép nó trong thư mục /glassfish/modules, thay thế phiên bản cũ hơn để nó được áp dụng trên tất cả các ứng dụng web.

+0

Tôi đã giải quyết được sự cố. Tôi đã tải xuống jar JSF 2.l.8 và tôi đã thay thế mô-đun trong Glassfish. – user1285928

+0

Bạn có thể chia sẻ liên kết và/hoặc mã nhận dạng maven của thành phần được gọi với "JSF 2.1.8.jar" vì giải pháp trên không hoạt động hoàn toàn (giải quyết một số vấn đề nhưng một số còn lại) cho tôi ?! –

+0

@Karl: [Trang chủ JSF] (https://javaserverfaces.java.net) -> [Tải xuống] (https://javaserverfaces.java.net/nonav/2.2/download.html) -> [Maven] (https://maven.java.net/content/repositories/releases/org/glassfish/javax.faces/) – BalusC

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