[RESOLVIDO] JSF não funciona com Primefaces

25 respostas
R

Olá, estou estudando JSF e percebi que quando adiciono o primefaces na pasta WEB-INF / lib, meu comando para de funcionar e da um erro, mas se eu removo o primefaces, meu comando volta a funciona normamente.
Logo abaixo vou postar o código e o erro que esta dando. Se alguém ja passou por isto e puder me ajudar agradeço!

//meu codigo nao tem nada apenas adicionei as bibliotecas

<?xml version="1.0" encoding="ISO-8859-1" ?> Insert title here

// Erro que da quando adiciono o primefaces

jan 17, 2018 8:00:13 PM org.apache.tomcat.util.digester.SetPropertiesRule begin

ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:Drogaria did not find a matching property.

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server version:        Apache Tomcat/8.5.24

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server built:          Nov 27 2017 13:05:30 UTC

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Server number:         8.5.24.0

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: OS Name:               Windows 10

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: OS Version:            10.0

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Architecture:          amd64

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_151

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: JVM Version:           1.8.0_151-b12

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: JVM Vendor:            Oracle Corporation

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: CATALINA_BASE:         D:\Eclipse.metadata.plugins\org.eclipse.wst.server.core\tmp0

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: CATALINA_HOME:         C:\apache-tomcat-8.5.24

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dcatalina.base=D:\Eclipse.metadata.plugins\org.eclipse.wst.server.core\tmp0

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\apache-tomcat-8.5.24

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dwtp.deploy=D:\Eclipse.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\apache-tomcat-8.5.24\endorsed

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.VersionLoggerListener log

INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252

jan 17, 2018 8:00:13 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent

INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jre1.8.0_151\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_151/bin/server;C:/Program Files/Java/jre1.8.0_151/bin;C:/Program Files/Java/jre1.8.0_151/lib/amd64;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel® Management Engine Components\DAL;C:\Program Files\Intel\Intel® Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel® Management Engine Components\IPT;C:\Program Files\Intel\Intel® Management Engine Components\IPT;C:\Users\fabia\AppData\Local\Microsoft\WindowsApps;;C:\Windows\System32;;.]

jan 17, 2018 8:00:13 PM org.apache.coyote.AbstractProtocol init

INFORMAÇÕES: Initializing ProtocolHandler [“http-nio-8080”]

jan 17, 2018 8:00:13 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

INFORMAÇÕES: Using a shared selector for servlet write/read

jan 17, 2018 8:00:13 PM org.apache.coyote.AbstractProtocol init

INFORMAÇÕES: Initializing ProtocolHandler [“ajp-nio-8009”]

jan 17, 2018 8:00:13 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

INFORMAÇÕES: Using a shared selector for servlet write/read

jan 17, 2018 8:00:13 PM org.apache.catalina.startup.Catalina load

INFORMAÇÕES: Initialization processed in 673 ms

jan 17, 2018 8:00:13 PM org.apache.catalina.core.StandardService startInternal

INFORMAÇÕES: Starting service [Catalina]

jan 17, 2018 8:00:13 PM org.apache.catalina.core.StandardEngine startInternal

INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.5.24

jan 17, 2018 8:00:15 PM org.apache.jasper.servlet.TldScanner scanJars

INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

jan 17, 2018 8:00:17 PM org.apache.jasper.servlet.TldScanner scanJars

INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

jan 17, 2018 8:00:17 PM com.sun.faces.config.ConfigureListener contextInitialized

INFORMAÇÕES: Inicializando Mojarra 2.3.0 ( 20170310-1214 96269eb4d9262817eef167b254deeb33eba6c740) para o contexto /Drogaria

jan 17, 2018 8:00:18 PM com.sun.faces.spi.InjectionProviderFactory createInstance

INFORMAÇÕES: JSF1048: Anotações PostConstruct/PreDestroy presentes.  Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.

jan 17, 2018 8:00:18 PM com.sun.faces.config.ConfigureListener contextInitialized

GRAVE: Critical error during deployment:

java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at com.sun.faces.util.Util.loadClass(Util.java:333)

at com.sun.faces.config.processor.ApplicationConfigProcessor.addSystemEventListener(ApplicationConfigProcessor.java:1040)

at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:370)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:155)

at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:138)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:155)

at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:246)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:443)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:237)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4743)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: javax.enterprise.context.spi.Contextual

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

 20 more
jan 17, 2018 8:00:18 PM org.apache.catalina.core.StandardContext listenerStart

GRAVE: Exception sending context initialized event to listener instance of class [com.sun.faces.config.ConfigureListener]

java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:315)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4743)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at com.sun.faces.util.Util.loadClass(Util.java:333)

at com.sun.faces.config.processor.ApplicationConfigProcessor.addSystemEventListener(ApplicationConfigProcessor.java:1040)

at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:370)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:155)

at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:138)

at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:155)

at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:246)

at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:443)

at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:237)

 9 more

Caused by: java.lang.ClassNotFoundException: javax.enterprise.context.spi.Contextual

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

 20 more
jan 17, 2018 8:00:18 PM org.apache.catalina.core.StandardContext startInternal

GRAVE: One or more listeners failed to start. Full details will be found in the appropriate container log file

jan 17, 2018 8:00:18 PM org.apache.catalina.core.StandardContext startInternal

GRAVE: Context [/Drogaria] startup failed due to previous errors

jan 17, 2018 8:00:18 PM com.sun.faces.config.ConfigureListener contextDestroyed

GRAVE: Unexpected exception when attempting to tear down the Mojarra runtime

java.lang.NullPointerException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.sun.faces.el.ELUtils.addEL3_0_Resolvers(ELUtils.java:334)

at com.sun.faces.el.ELUtils.buildFacesResolver(ELUtils.java:258)

at com.sun.faces.application.ApplicationAssociate.initializeELResolverChains(ApplicationAssociate.java:484)

at com.sun.faces.application.ApplicationImpl.performOneTimeELInitialization(ApplicationImpl.java:1404)

at com.sun.faces.application.ApplicationImpl.getELResolver(ApplicationImpl.java:526)

at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:367)

at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4790)

at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5429)

at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

jan 17, 2018 8:00:18 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler [“http-nio-8080”]
jan 17, 2018 8:00:18 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler [“ajp-nio-8009”]
jan 17, 2018 8:00:18 PM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 5080 ms
jan 17, 2018 8:00:23 PM org.apache.catalina.core.StandardServer await
INFORMAÇÕES: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
jan 17, 2018 8:00:23 PM org.apache.coyote.AbstractProtocol pause
INFORMAÇÕES: Pausing ProtocolHandler [“http-nio-8080”]
jan 17, 2018 8:00:24 PM org.apache.coyote.AbstractProtocol pause
INFORMAÇÕES: Pausing ProtocolHandler [“ajp-nio-8009”]
jan 17, 2018 8:00:24 PM org.apache.catalina.core.StandardService stopInternal
INFORMAÇÕES: Stopping service [Catalina]
jan 17, 2018 8:00:24 PM org.apache.coyote.AbstractProtocol stop
INFORMAÇÕES: Stopping ProtocolHandler [“http-nio-8080”]
jan 17, 2018 8:00:24 PM org.apache.coyote.AbstractProtocol stop
INFORMAÇÕES: Stopping ProtocolHandler [“ajp-nio-8009”]
jan 17, 2018 8:00:24 PM org.apache.coyote.AbstractProtocol destroy
INFORMAÇÕES: Destroying ProtocolHandler [“http-nio-8080”]
jan 17, 2018 8:00:24 PM org.apache.coyote.AbstractProtocol destroy
INFORMAÇÕES: Destroying ProtocolHandler [“ajp-nio-8009”]

25 Respostas

darlan_machado

Qual versão do primefaces? Está colocando apenas o jar do prime?

ardenghe

Bom dia!

Cara, eu n uso eclipse, mas os jar não tem q ficar em “Referenced Libraries”?

R

Olá. estou usando primefaces-6.1.jar - Já tentei outras versões, mas ate agora sem exceto.
Porem andei pesquisando o erro, e muitos sites apontam para o web.xml que se encontra na pasta WEB-INF.

Abaixo vou fazer um passo a passo de com estou fazendo.






Agora, se eu remover o primefaces, o erro 404 desaparece.
Eu ja fiz vários testes. inclusive já adicionei o as bibliotecas na pasta Libraries com mostra o exemplo abaixo:

darlan_machado

O que tem a ver o eclipse?
Não, os jars ficam dentro da pasta lib, a IDE pode, até, dar uma referência diferente, mas, eles ficam na lib mesmo.

darlan_machado

Muito estranho.
Se tiver como, anexa o war aqui e deixa eu dar uma olhada mais a fundo. Confesso que nunca vi tal problema.

R

Me desculpa por ser leigo, acredito que o WAR seja isto:

//projeto que eu quero rodar

//Web.xml

<?xml version="1.0" encoding="UTF-8"?>


DorgariaWEB

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp


Faces Servlet
javax.faces.webapp.FacesServlet
1


Faces Servlet
*.jsf


State saving method: ‘client’ or ‘server’ (=default). See JSF Specification 2.5.2
javax.faces.STATE_SAVING_METHOD
client


javax.servlet.jsp.jstl.fmt.localizationContext
resources.application


com.sun.faces.config.ConfigureListener

D

Acho que o Primefaces requer um CDI:

http://www.cdi-spec.org/download/
ou
https://mvnrepository.com/artifact/javax.enterprise/cdi-api

Se ainda não der certo, adicione também o Hibernate.

darlan_machado

Onde?
Desde sempre funcionou só adicionando a lib do mojarra e do primefaces. Quando ele passou a depender do CDI? Aliás, eu não posso optar por não usar CDI?

darlan_machado

Cara, tem algo de muito errado Vou tentar fazer um projeto aqui (faz tempo que não mexo com JSF + Prime) e já posto o que consegui.

D

Se não me engano essa classe está presente no CDI-API, se não for o Primefaces, alguma outra coisa está pedindo essa classe.

darlan_machado

@diego12, realmente, pesquisei aqui e o que você colocou é verdade.
Precisa, sim, do CDI.
Acho isso uma pena. O JSF era mais ou menos, agora, dependendo do CDI, ficou uma porcaria. Cada vez mais a JEE errando a mão.
Faz muito tempo que não crio projetos JSF.

javaflex

Não sei como ainda tem pessoas que desenvolvem novos projetos no pesado e engessado JSF.

Essa de obrigar a usar CDI também não sabia. Já basta a bomba que é uma implementação de JSF.

darlan_machado

Para determinados usos ainda enxergava valia, mas, com isso, prefiro usar o bom e (muito) velho Struts 2.

javaflex

Na época que trabalhava em Java era com Struts 2 também. Muito melhor que JSF desde sempre. Mas hoje em dia nessa linha action based pra web Java vale mais o Spring MVC com Spring Boot.

ardenghe

Ei, tenta assim…

no web.xml…

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>teste.jsf</welcome-file>
</welcome-file-list>

Tire a página “teste” da pasta teste, deixa dentro de WebContent…

Constrói e executa, ve se vai!

Acredito que o erro não é por causa do primefaces e sim pq não ta econtrando a página

R

Tentei, mas nao resolveu. agradeço a gentileza.

R

valeu pela ajuda, mas nao consegui resolver o meu problema.

Obrigado a todos que tentaram me ajudar. ja estou jogando a toalha. O JSF ficou só pra conhecimento mesmo!

javaflex

Importante só saber que existiu JSF. Para Java recomendo você partir pra Spring MVC com Spring Boot.

R

É isto ai, o importante é saber que existe. Vamos partir para o Spring MVC !
valeu a todos pela ajuda !!!

javaflex

Alguns tutoriais:

https://www.mkyong.com/spring-boot/spring-boot-hello-world-example-jsp/



R

Obrigado. Estes tutoriais vão ajudar bastante.

darlan_machado

Sério, eu fiz o teste, criei o projeto do zero, sem nada e, sim, o problema é a falta do jar do CDI.
É a forçação da forçação de barra para usar uma desgraça junto com outra (exagero, mas é isso).

javaflex

Próximo passo vai ser obrigar a usar JPA.

R

Pessoal voltei para disser que consegui resolver o problema. Realmente faltava o CDI http://www.cdi-spec.org/download/ que o Diogo12 tinha postado. Nao sei responder o porque nao funcionou anteriormente.
Para poder funcionar precisei remover da minha maquina o eclipse e o apache-tomcat…Digitei executar/regedit e removi tudo o que tinha do eclipse e do tomcat na maquina. Entao só assim funcionou.

Agradeço a gentileza e o tempo de voces.

A

Olá,

Estava com o mesmo problema e consegui resolver inserindo a biblioteca 3.0 do prime faces

Criado 17 de janeiro de 2018
Ultima resposta 1 de out. de 2019
Respostas 25
Participantes 6