OmniFaces graphicImage方法抛出IllegalArgumentException

时间:2016-10-07 13:26:24

标签: java jsf-2 illegalargumentexception omnifaces wildfly-9

已在this SO post中详细介绍我使用h:outputLink成功创建了of:graphicImageURL('imageBean.getFirstImage(Long id, boolean thumbnail)')。这在我的本地机器上工作正常。但是,当我将其部署在我的一个生产服务器上时(软件的两个实例,两者共享完全相同的Java代码,在服务器A上运行完全正常但在服务器B上运行不正常),它会引发以下异常:

Caused by: java.lang.IllegalArgumentException: argument type mismatch
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.omnifaces.resourcehandler.GraphicResource.getInputStream(GraphicResource.java:259)
    at com.sun.faces.application.resource.ResourceHandlerImpl.handleResourceRequest(ResourceHandlerImpl.java:335)
    at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
    at org.primefaces.application.resource.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:87)
    at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
    at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:153)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:655)
    ... 32 more

为了使它更奇怪,将方法更改为imageBean.getImage(Long id, int index, Boolean thumbnail)后,它工作正常。 (索引参数指示要检索的图片阵列的哪个图片)。 BalusC在评论中提到它可能是由于/WEB-INF/lib - 文件夹中的同意库,所以这里是: lib-content

作为应用程序服务器,我正在使用Wildfly 9.0.2。令我感到困惑的是,软件的两个实例共享相同的代码库并具有相同的设置,但是当它在服务器A(以及我的本地机器上)上工作时,它不在服务器B上。任何线索?

0 个答案:

没有答案