Resolvido - Primeiro projeto JEE erro 404 - Not Found

Sou iniciante em JavaEE. Estou estudando por conta própria por enquanto.

Instalei o JDK 12, Eclipse 2019-9 e Wildfly 17.

Configurei tudo certo, o servidor subiu normal pelo endereço localhost:8080.

Criei um Dinamic Web Project com o nome de PrimeiroJSF e, depois habilitei o Javaserv Faces.

Depois criei um arquivo com o nome index.xhtml.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Primeiro arquivo JSF</title>
</h:head>
<body>

<h2><h:outputText value="Um texto qualquer" /></h2>

</body>

</html>

Adicionei o projeto ao servidor e dei start.

No navegador digitei localhost:8080/PrimeiroJSF/index.faces

Deu erro 404 - Not Found

Alguém pode ajudar como resolver? Desde já agradeço.

Esse conteúdo vai te ajudar com isso: DWP - Novo projeto Web usando Eclipse.

Tudo bem Jothar. Já segui esse conteúdo também, mas não funcionou. Engraçado que ontem a noite adicionei uma classe na pasta src e, então funcionou.

Há alguma ligação nisso?

Código do console

   12:07:32,853 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 87) MSC000001: Failed to start service jboss.deployment.unit."PrimeiroJSF.war".undertow-deployment: org.jboss.msc.service.StartException in service jboss.deployment.unit."PrimeiroJSF.war".undertow-deployment: java.lang.RuntimeException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.jboss.threads@2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
	at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
	at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
	at org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
	at java.base/java.lang.Thread.run(Thread.java:830)
	at org.jboss.threads@2.3.3.Final//org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:252)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
	... 8 more
Caused by: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:283)
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:216)
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:185)
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
	at org.wildfly.extension.undertow@17.0.1.Final//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
	at io.undertow.servlet@2.0.21.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:250)
	... 10 more
Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:357)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:205)
	... 21 more
Caused by: java.lang.NullPointerException
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.facelets.impl.DefaultResourceResolver.resolveUrl(DefaultResourceResolver.java:40)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.facelets.impl.DefaultFaceletFactory.init(DefaultFaceletFactory.java:129)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.application.ApplicationAssociate.createFaceletFactory(ApplicationAssociate.java:849)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.application.ApplicationAssociate.initializeFacelets(ApplicationAssociate.java:342)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.application.ApplicationAssociate.getCompiler(ApplicationAssociate.java:420)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:217)
	at com.sun.jsf-impl@2.3.9.SP02//com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:341)
	... 22 more

12:07:32,921 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "PrimeiroJSF.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"PrimeiroJSF.war\".undertow-deployment" => "java.lang.RuntimeException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
    Caused by: java.lang.RuntimeException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
    Caused by: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
    Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
    Caused by: java.lang.NullPointerException"}}
12:07:32,979 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 47) WFLYSRV0010: Deployed "PrimeiroJSF.war" (runtime-name : "PrimeiroJSF.war")
12:07:32,987 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186:   Services which failed to start:      service jboss.deployment.unit."PrimeiroJSF.war".undertow-deployment: java.lang.RuntimeException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
WFLYCTL0448: 1 additional services are down due to their dependencies being missing or failed
12:07:33,153 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
12:07:33,155 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
12:07:33,155 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
12:07:33,155 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 17.0.1.Final (WildFly Core 9.0.2.Final) started (with errors) in 26219ms - Started 467 of 697 services (3 services failed or missing dependencies, 390 services are lazy, passive or on-demand)

Segue o projeto. Se puderem verificar.

PrimeiroJSF.zip (5,0,KB)

Não existe essa pasta, talvez tenha sido na src.
Como está teu projeto? O que tem de configuração? É um projeto do tipo dynamic web project? É maven? gradle?

Postei o projeto. Saiu errado o nome da pasta :face_with_hand_over_mouth: Corrigi.

Então darlan, é um dynamic web project. Mas apresenta 404 - Not Found.

Siga esse tutorial: DWP.

Jars necessários:
commons-beanutils-1.9.4.jar (241,1,KB) commons-collections4-4.4.jar (734,3,KB) commons-digester3-3.2.jar (236,0,KB) javax.servlet.jsp.jstl-1.2.1.jar (397,6,KB) javax.servlet.jsp.jstl-api-1.2.1.jar (31,8,KB)

Testei aqui e funcionou corretamente.

Boa noite pessoal. Depois de uma semana, consegui descobrir o que aconteceu.

No log, o erro esta sendo mostrado nesta linha:

ERROR [stderr] (ServerService Thread Pool -- 83) javax.faces.FacesException: Unable to find CDI BeanManager

Como podem ver, esta faltando o CDI.

Como estou usando JSF 2.3, por ser novo, é preciso ativa-lo explicitamente. Encontrei esse site https://github.com/javaserverfaces/mojarra#minimum-requirements. Nele explica esta situação.

Então criei uma classe ConfigBen e fiz o código abaixo:

import javax.enterprise.context.ApplicationScoped;
import javax.faces.annotation.FacesConfig;
import javax.faces.annotation.FacesConfig.Version;

    @FacesConfig(version = Version.JSF_2_3)
    @ApplicationScoped
    public class ConfigBean {
    }

E bingooooo, funcionou sem erros.

Para quem tiver esse problema, pode visitar o site que citei.

Valeu @Leilson_Frantchelino

Bom trabalho!

Muito Obrigado! Tava quebrando a cabeça aqui e sua dica me ajudou