Веб-приложение JSF 2.2 работает на локальной машине, но не на сервере - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь создать веб-приложение, используя jsf 2.2.Мое приложение использует JERSEY Restful, jre 1.8, JSF 2.2, Primefaces.

На моем локальном компьютере оно прекрасно работает, но на AWS (EC2-Tomcat по уровню bitnami-free) я получаюошибка (Журнал ошибок внизу.)

Большое спасибо за вашу помощь в Advance.

Я использую следующеебиблиотеки

enter image description here

Вот мой код файла Web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>MYAPP</display-name>
 <welcome-file-list>
    <welcome-file>welcome.jsf</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>Jersey Rest Service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey Rest Service</servlet-name>
    <url-pattern>/webresources/*</url-pattern>
  </servlet-mapping>
  <context-param>
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>
</web-app>

Журнал ошибок 26 апреля-2018 03: 33: 43.130 SEVERE [localhost-startStop-23] org.apache.catalina.core.StandardContext.listenerStart Исключение, отправляющее инициализированное событие контекста экземпляру прослушивателя класса [com.sun.faces.config.ConfigureListener] java.lang.RuntimeException: java.lang.NoSuchMethodError: javax.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V в com.sun.faces.config.ConfigureListener.cong. Неизвестный.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4745) в org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5207) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:752) в org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:728) в org.apache.catalina.core.StandardHost.addChild: StandardHost7347) в org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:986) в org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1857) в java.util.concurrent.Executors $RunnableAdapter.call (Executors.java:511) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.11uru.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java:748) Причина: java.lang.NoSuchMethodError: javax.faces.application.Application.addSearchKeywordesolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V по адресу org.primefaces.util.Jsf23Helper.addSearchKeywordResolvers (Jsf23Helper.java:27) по адресу org.primefaces.webapp.PostConstructApplicationEventLavjjConnect ()..faces.event.SystemEvent.processListener (Неизвестный источник) по адресу com.sun.faces.application.ApplicationImpl.processListeners (Неизвестный источник) по адресу com.sun.faces.application.ApplicationImpl.invokeListenersFor (Неизвестный источник) по адресу com.sun.faces..application.ApplicationImpl.publishEvent (неизвестный источник) по адресу com.sun.faces.config.ConfigManager.publishPostConfigEvent (неизвестный источник) ... еще 14

26-апр-2018 03: 33: 43.463 SEVERE [localhost-startStop-23] org.apache.catalina.core.StandardContext.listenerStart Исключение, отправляющее инициализированное событие контекста экземпляру прослушивателя класса [com.sun.faces.config.ConfigureListener] java.lang.RuntimeException: java.lang.NoSuchMethodError:.faces.application.Application.addSearchKeywordResolver (Ljavax /faces / component / search / SearchKeywordResolver;) V по адресу com.sun.faces.config.ConfigureListener.contextInitialized (неизвестный источник) по адресу org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:43)org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5207) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в org.apache.catalina.core.ContainerBild.addCContainerBase.java:752) в org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:728) в org.apache.catalina.core.StandardHost.addChild (StandardHost.java:734) в org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:986) в org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1857)в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runoorkec.: 1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java:748). Причина: java.lang.NoSuchMethodError: javax.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V в org.primefaces.util.Jsf23Helper.addSearchKeywordResolvers (Jsf23Helper.java:27)48) в javax.faces.event.SystemEvent.processListener (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.processListeners (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.invokeListenersFor (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.publishEvent (Неизвестный источник)at com.sun.faces.config.ConfigManager.publishPostConfigEvent (неизвестный источник) ... еще 14

26-Apr-2018 03: 39: 45.299 SEVERE [localhost-startStop-24] org.apache.catalina.core.StandardContext.listenerStart Исключение, отправляющее событие, инициализированное контекстом, экземпляру прослушивателя класса [com.sun.faces.config.ConfigureListener] java.lang.RuntimeException: java.lang.NoSuchMethodError: javax.faces.application.Application.wordjesK (/faces / component / search / SearchKeywordResolver;) V в com.sun.faces.config.ConfigureListener.contextInitialized (Неизвестный источник) в org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4745) в org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5207) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в org.apache.catalina.core.ContainerBase.addChildInternal Container (: 752) в org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:728) в org.apache.catalina.core.StandardHost.addChild (StandardHost.java:734) в org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:986) в org.apache.catalina.startup.HostConfig $ DeployWar.run (узел хоста: 1857) на java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) на java.util.concurrent.FutureTask.run (FutureTask.java:266) на java.util.concurrent.ThreadPoolExorker.unThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java:748) Причина: java.lang.NoSuchMethor.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V в org.primefaces.util.Jsf23Helper.addSearchKeywordResolvers (Jsf23Helper.java:27 )Предприятие объекта.java: 48) на javax.faces.event.SystemEvent.processListener (Неизвестный источник) на com.sun.faces.application.ApplicationImpl.processListeners (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.invokeListenersFor (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.publishEvent (Неизвестный источник) в com.sun.faces.config.ConfigManager.publishPostConfigEvent (Неизвестный источник) ... еще 14

26-апр-2018 03: 39: 45.716 SEVERE [localhost-startStop-24] org.apache.catalina.core.StandardContext.listenerStart Исключительная ситуация при отправке события инициализированного событияк экземпляру прослушивателя класса [com.sun.faces.config.ConfigureListener] java.lang.RuntimeException: java.lang.NoSuchMethodError: javax.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKey);в com.sun.faces.config.ConfigureListener.contextInitialized (неизвестный источник)в org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4743) в org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5207) в org.apache.catalina.util.startBase(LifecycleBase.java:150) в org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:752) в org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:728) в org.apache.catalina.core.StandardHost.addChild (StandardHost.java:734) в org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:986) в org.apache.catalina.startup.HostConfig $ DeployWar.un (java: 1857) на java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) на java.util.concurrent.FutureTask.run (FutureTask.java:266) на java.util.concurrent.ThreadPoolWorker.(ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java:748) Причина: java.lang.NoSuchMethodrror: javax.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V в org.primefaces.util.Jsf23Helper.addSearchKeywordResolvers (Jsf23Helper.jstructer.Pen.processEvent (PostConstructApplicationEventListener.java:48) в javax.faces.event.SystemEvent.processListener (неизвестный источник) в com.sun.faces.application.ApplicationImpl.processListeners (неизвестный источник) в com.sun.faces.application.ApplicationImpl.invokeListeners(Неизвестный источник) на com.sun.faces.application.ApplicationImpl.publishEvent (неизвестный источник) на com.sun.faces.config.ConfigManager.publishPostConfigEvent (неизвестный источник) ... еще 14

26-апр.-2018 04: 57: 18.310 SEVERE [localhost-startStop-25] org.apache.catalina.core.StandardContext.listenerStart Исключение, отправляющее инициализированное событие контекста экземпляру прослушивателя класса [com.sun.faces.config.ConfigureListener] java.lang.RuntimeException: java.lang.NoSuchMethodError: javax.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V в com.sun.faces.config.ConfigureListener.contextInitialized (Неизвестный источник) в org.apache.catalnd.Contain.core.listenerStart (StandardContext.java:4743) в org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5207) в org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) в орг.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:752) в org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:728) в org.apache.catalina.core.StandardHild.ostdh.Java: 734) в org.apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:986) в org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1857) в java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) в java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java:748) Причина: java.lang.NoSuchMethodError: javax.faces.application.Application.addSearchKeywordResolver (Ljavax / Faces / component / search / SearchKeywordResolver;) V в org.primefaces.util.Jsf23Helper.addSearchKeywordResoll..processEvent (PostConstructApplicationEventListener.java:48) в javax.faces.event.SystemEvent.processListener (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.processListeners (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.invokeListenersFor (Неизвестный источник) в com.sun.faces.application.ApplicationImpl.publishEvent (Неизвестный источник)на com.sun.faces.config.ConfigManager.publishPostConfigEvent (неизвестный источник) ... еще 14

1 Ответ

0 голосов
/ 26 апреля 2018

Вы, кажется, включили в свой проект разные версии JSF, что вызывает проблему.Я вижу javax.faces-2.3.2 в ваших зависимостях, а также jsf-api-2.2.9 / jsf-impl-2.2.9.Метод addSearchKeywordResolver в javax.faces.application.Application вызывается и не может быть найден (как подсказывает трассировка стека).Этот метод является только частью JSF 2.3.Однако класс JSF 2.2, кажется, используется.Метод вызывается PrimeFaces, потому что PrimeFaces думает, что вы используете JSF 2.3, потому что класс javax.faces.component.UIImportConstants можно найти в пути к классам (в зависимости javax.faces-2.3.2).Я думаю, что решение состоит только в том, чтобы включить зависимости одной версии JSF.

...