Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
25
respostas

NullPointerException

Estava fazendo o curso, porém começou a dar a mensagem de erro NullPointerException, quando eu abria o Exlipse.

  • Desinstalei o JDK e instalei-o novamente, mas não resolveu.
  • Baixei novamente o Eclipse e o Tomcat, exclui o diretório onde estavam o Eclipse e Tomcat. Criei um novo diretório com os dois que eu baixei.
  • Configurei novamente o Workspace e adicionei o Tomcat, mas não resolveu.
  • Cliquei então em "Não me lembre mais."

  • Eu mando startar o Tomcat, e abro a url localhost:8080 - carrega normalmente. Mas agora quando clico no projeto, e depois Run on Server, gera erro 404.

No console:

fev 16, 2016 7:55:21 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:vraptor-produtos' did not find a matching property.
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server version:        Apache Tomcat/8.0.30
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server built:          Dec 1 2015 22:30:46 UTC
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server number:         8.0.30.0
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Name:               Windows 7
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Version:            6.1
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Architecture:          x86
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_73
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Version:           1.8.0_73-b02
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Vendor:            Oracle Corporation
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_BASE:         C:\Eclipse\apache-tomcat-8.0.30
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_HOME:         C:\Eclipse\apache-tomcat-8.0.30
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\Eclipse\apache-tomcat-8.0.30
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\Eclipse\apache-tomcat-8.0.30
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\Eclipse\apache-tomcat-8.0.30\wtpwebapps
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\Eclipse\apache-tomcat-8.0.30\endorsed
fev 16, 2016 7:55:21 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252
fev 16, 2016 7:55:21 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_73\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_73/bin/client;C:/Program Files/Java/jre1.8.0_73/bin;C:/Program Files/Java/jre1.8.0_73/lib/i386;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Windows Live\Shared;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\Eclipse;;.
fev 16, 2016 7:55:22 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["http-nio-8080"]
fev 16, 2016 7:55:22 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
fev 16, 2016 7:55:22 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["ajp-nio-8009"]
fev 16, 2016 7:55:22 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMAÇÕES: Using a shared selector for servlet write/read
fev 16, 2016 7:55:22 PM org.apache.catalina.startup.Catalina load
INFORMAÇÕES: Initialization processed in 1248 ms
fev 16, 2016 7:55:22 PM org.apache.catalina.core.StandardService startInternal
INFORMAÇÕES: Starting service Catalina
fev 16, 2016 7:55:22 PM org.apache.catalina.core.StandardEngine startInternal
INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/8.0.30
fev 16, 2016 7:55:25 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.
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
fev 16, 2016 7:55:38 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default
  at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public br.com.caelum.vraptor.dao.ProdutoDao(EntityManager)
  at br.com.caelum.vraptor.dao.ProdutoDao.<init>(ProdutoDao.java:0)

    at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:361)
    at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:282)
    at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:133)
    at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:164)
    at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:507)
    at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
    at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
    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)

fev 16, 2016 7:55:38 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
fev 16, 2016 7:55:39 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
INFORMAÇÕES: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [143] milliseconds.
fev 16, 2016 7:55:39 PM org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/vraptor-produtos] startup failed due to previous errors
fev 16, 2016 7:55:39 PM org.apache.catalina.core.StandardContext listenerStop
GRAVE: Exception sending context destroyed event to listener instance of class org.jboss.weld.environment.servlet.Listener
java.lang.NullPointerException
    at org.jboss.weld.servlet.WeldInitialListener.contextDestroyed(WeldInitialListener.java:102)
    at org.jboss.weld.servlet.api.helpers.ForwardingServletListener.contextDestroyed(ForwardingServletListener.java:30)
    at org.jboss.weld.environment.servlet.Listener.contextDestroyed(Listener.java:85)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4859)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5478)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    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)

fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deploying web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\docs
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deployment of web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\docs has finished in 88 ms
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deploying web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\examples
fev 16, 2016 7:55:39 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: ContextListener: contextInitialized()
fev 16, 2016 7:55:39 PM org.apache.catalina.core.ApplicationContext log
INFORMAÇÕES: SessionListener: contextInitialized()
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deployment of web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\examples has finished in 561 ms
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deploying web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\host-manager
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deployment of web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\host-manager has finished in 48 ms
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deploying web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\manager
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deployment of web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\manager has finished in 63 ms
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deploying web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\ROOT
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.HostConfig deployDirectory
INFORMAÇÕES: Deployment of web application directory C:\Eclipse\apache-tomcat-8.0.30\webapps\ROOT has finished in 50 ms
fev 16, 2016 7:55:39 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["http-nio-8080"]
fev 16, 2016 7:55:39 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["ajp-nio-8009"]
fev 16, 2016 7:55:39 PM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 17562 ms
25 respostas

Oi Ewerton, tudo bem?

Sem ver o código, eu arrisco que ele não está encontrando o EntityManager para instanciar. Você criou a classe EntityManagerProducer?

Se criou, posta o código das classes EntityManagerProducer e ProdutoDao aqui?

Abraço!

Obrigado pela atenção Lucas!!

Segue abaixo:

EntityManager:

package br.com.caelum.vraptor.util;

import javax.enterprise.context.RequestScoped;
import javax.enterprise.inject.Produces;
import javax.persistence.EntityManager;

public class EntityManagerProducer {

    @Produces @RequestScoped
    public EntityManager criaEM() {
        return JPAUtil.criaEntityManager();
    }
}

ProdutoDao:

package br.com.caelum.vraptor.dao;

import java.util.List;

import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.persistence.EntityManager;

import br.com.caelum.vraptor.model.Produto;

@RequestScoped
public class ProdutoDao {

    private final EntityManager em;

    @Inject
    public ProdutoDao(EntityManager em) {
        this.em = em;
    }

    public ProdutoDao() {
        this(null);
    }

    public void adiciona(Produto produto) {
        em.getTransaction().begin();
        em.persist(produto);
        em.getTransaction().commit();
    }

    public void remove(Produto produto) {
        em.remove(busca(produto));
    }

    public Produto busca(Produto produto) {
        return em.find(Produto.class, produto.getId());
    }

    @SuppressWarnings("unchecked")
    public List<Produto> lista() {
        return em.createQuery("select p from Produto p").getResultList();
    }
}

Oi Ewerton,

tenho a impressão que vc já implementou algo no projeto pois a injeção no ProdutoDao nao está funcionando. Ou seja, o seu projeto subiu com sucesso, mas o ProdutoDao realmente está com um problema.

Qual URL você está acessando? A sua dúvida é referente de qual exercício?

abs

Oi Ewerton,

tenho a impressão que vc já implementou algo no projeto pois a injeção no ProdutoDao nao está funcionando. Ou seja, o seu projeto subiu com sucesso, mas o ProdutoDao realmente está com um problema.

Qual URL você está acessando? A sua dúvida é referente de qual exercício?

abs

Na verdade não estou conseguindo dar continuidade no meu curso... Estou no capítulo 7, do VRaptor4

Fiz o exercício, mas não consigo testar pra postar, e continuar...

Tentei a url => localhost:8080 o Tomcat carrega a tela normalmente OK.

Mas se eu tentar carregar a url => localhost:8080/vraptor-produtos/produto/lista

ou

a url => localhost:8080/vraptor-produtos/produto/formulario

Gera o erro 404 - De página não encontrada, mas o jsp´s estavam ok até ontem...

Oi Ewerton,

me mande o seu projeto: nico.steppat@caelum.com.br

obrigado

OK, obrigado!

O e-mail retornou...

Não aceitou .zip

renomeie o arquivo para algo diferente, por exemplo .txt

Exclui todo o projeto do workspace, e comecei o curso do "ZERO", e descobri que o problema ocorre quando eu faço as alterações do exercício 6 na classe ProdutoDao.

Quando eu mando Startar o Tomcar, verifiquei o erro no console:

GRAVE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default
  at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public br.com.caelum.vraptor.dao.ProdutoDao(EntityManager)
  at br.com.caelum.vraptor.dao.ProdutoDao.<init>(ProdutoDao.java:0)

Exportei o projeto renomeei a extenção para .txt e mandei pra vc Nico...

Obrigado pela atenção!! Abraço!

Oi Ewerton, Estou com o mesmo erro que você ,até a realização dos exercícios da aula 8 o meu projeto estava funcionando.Mas com as modificações do código deu ruim rsrsr.No meu console apareceu isso:

fev 18, 2016 7:47:39 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:vraptor-produtos' did not find a matching property.
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server version:        Apache Tomcat/7.0.67
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server built:          Dec 7 2015 13:07:11 UTC
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Server number:         7.0.67.0
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Name:               Windows 10
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: OS Version:            10.0
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Architecture:          amd64
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Java Home:             C:\Program Files\Java\jre1.8.0_71
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Version:           1.8.0_71-b15
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: JVM Vendor:            Oracle Corporation
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_BASE:         C:\Users\Thais\Documents\workspace_curso\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: CATALINA_HOME:         C:\apache-tomcat-7.0.67
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.base=C:\Users\Thais\Documents\workspace_curso\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dcatalina.home=C:\apache-tomcat-7.0.67
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dwtp.deploy=C:\Users\Thais\Documents\workspace_curso\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=C:\apache-tomcat-7.0.67\endorsed
fev 18, 2016 7:47:39 PM org.apache.catalina.startup.VersionLoggerListener log
INFORMAÇÕES: Command line argument: -Dfile.encoding=Cp1252
fev 18, 2016 7:47:39 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_71\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_71/bin/server;C:/Program Files/Java/jre1.8.0_71/bin;C:/Program Files/Java/jre1.8.0_71/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_40\bin;C:\apache-maven-3.3.1\bin;C:\Program Files\Git\bin;C:\Program Files\nodejs\;C:\Users\Thais\AppData\Roaming\npm;C:\Program Files\eclipse;;.
fev 18, 2016 7:47:40 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["http-bio-8080"]
fev 18, 2016 7:47:40 PM org.apache.coyote.AbstractProtocol init
INFORMAÇÕES: Initializing ProtocolHandler ["ajp-bio-8009"]
fev 18, 2016 7:47:40 PM org.apache.catalina.startup.Catalina load
INFORMAÇÕES: Initialization processed in 1324 ms
fev 18, 2016 7:47:40 PM org.apache.catalina.core.StandardService startInternal
INFORMAÇÕES: Starting service Catalina
fev 18, 2016 7:47:40 PM org.apache.catalina.core.StandardEngine startInternal
INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/7.0.67
fev 18, 2016 7:47:40 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
INFORMAÇÕES: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [147] milliseconds.
fev 18, 2016 7:47:43 PM org.apache.catalina.startup.TldConfig execute
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.
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
fev 18, 2016 7:47:54 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.DeploymentException: WELD-000069: An interceptor must have at least one binding, but br.com.caelum.vraptor.interceptor.AutorizadorInterceptor has none
    at org.jboss.weld.bean.InterceptorImpl.<init>(InterceptorImpl.java:76)
    at org.jboss.weld.bean.InterceptorImpl.of(InterceptorImpl.java:66)
    at org.jboss.weld.bootstrap.AbstractBeanDeployer.createInterceptor(AbstractBeanDeployer.java:282)
    at org.jboss.weld.bootstrap.BeanDeployer.createClassBean(BeanDeployer.java:245)
    at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:74)
    at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:72)
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
    at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
    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)

fev 18, 2016 7:47:54 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
fev 18, 2016 7:47:54 PM org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/vraptor-produtos] startup failed due to previous errors
fev 18, 2016 7:47:54 PM org.apache.catalina.core.StandardContext listenerStop
GRAVE: Exception sending context destroyed event to listener instance of class org.jboss.weld.environment.servlet.Listener
java.lang.NullPointerException
    at org.jboss.weld.servlet.WeldInitialListener.contextDestroyed(WeldInitialListener.java:102)
    at org.jboss.weld.servlet.api.helpers.ForwardingServletListener.contextDestroyed(ForwardingServletListener.java:30)
    at org.jboss.weld.environment.servlet.Listener.contextDestroyed(Listener.java:85)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5124)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5786)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
    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)

fev 18, 2016 7:47:54 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["http-bio-8080"]
fev 18, 2016 7:47:54 PM org.apache.coyote.AbstractProtocol start
INFORMAÇÕES: Starting ProtocolHandler ["ajp-bio-8009"]
fev 18, 2016 7:47:54 PM org.apache.catalina.startup.Catalina start
INFORMAÇÕES: Server startup in 14183 ms

==================================

Se conseguir resolver posta a resolução,pois travei nos exercícios e não estou conseguindo testar.

Obrigada.

Oi Ewerton e Thais!

Vocês poderiam me enviar o projeto em lucas.sampaio@alura.com.br ?

O Ewerton, acredito que já consegue enviar o .zip. Thais, você pode renomear o arquivo para uma outra exetensão, por exemplo .txt e aí conseguirá enviar.

Caso não consiga de forma alguma, poe o projeto em um dropbox da vida e me envia o link no email, por favor?

Fico aguardando. Abraços!

Enviado Lucas, obrigado!

Oi Pessoal,

Achamos o problema!

O pacote br.com.caelum.vraptor.util é reservado para o uso exclusivo do vraptor. as classes dentro desse pacote estão sendo ignoradas (ou seja, o producer do entitymanager não está sendo carregado e por isso a exceção).

Para resolver, basta dar um outro nome para este pacote, por exemplo br.com.caelum.vraptor.producer.

Ok?

abs

Boa tarde Noco!

Renomeei o pacote conforme você me orientou por e-mail e pelo fórum, porém resolveu em partes...

http://localhost:8080 => OK


http://localhost:8080/vraptor-produtos/ => OK


http://localhost:8080/vraptor-produtos/produto/lista => OK => Porém quando eu clico no link Remover, gera erro:

URL => http://localhost:8080/vraptor-produtos/produto/remove?produto.id=2 HTTP Status 405 -

type Status report

message

description The specified HTTP method is not allowed for the requested resource.

Apache Tomcat/8.0.30


http://localhost:8080/vraptor-produtos/produto/adiciona => Gera erro 405


http://localhost:8080/vraptor-produtos/produto/formulario => Gera erro 500

HTTP Status 500 - /WEB-INF/jsp/produto/formulario.jsp raised an exception

type Exception report

message /WEB-INF/jsp/produto/formulario.jsp raised an exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: /WEB-INF/jsp/produto/formulario.jsp raised an exception
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:120)
root cause

org.apache.jasper.JasperException: /WEB-INF/jsp/produto/formulario.jsp (line: 23, column: 38) equal symbol expected
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:91)
    org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:220)
    org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:163)
    org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:154)
    org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1241)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1460)
    org.apache.jasper.compiler.Parser.parse(Parser.java:139)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:227)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:85)
    br.com.caelum.vraptor.core.DefaultStaticContentHandler$Proxy$_$$_WeldClientProxy.deferProcessingToContainer(Unknown Source)
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:107)
    br.com.caelum.vraptor.view.DefaultPageResult.defaultView(DefaultPageResult.java:81)
    br.com.caelum.vraptor.observer.ForwardToDefaultView.forward(ForwardToDefaultView.java:67)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:87)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:116)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.30 logs.

Apache Tomcat/8.0.30

Há fiz, clicando com o botão direito no pacote, RESOURCE, RENAME...

Para que as alterações fossem feitas também nas classes que importam esse pacote...

Oi Ewerton,

conseguiu então? O problema no JSP tem outra causa.

nico

Renomeei e os http://localhost:8080 http://localhost:8080/vraptor-produtos/

Estão ok, Nico

Só os JSP´s, que estão zicados agora...

Oi Ewerton! As considerações que farei serão sobre o código que você me enviou no email hoje mais cedo.

O erro de status 405 significa que a URL aceita um determinado método HTTP e você está tentando acessar através de outro.

No caso:

  • Ao clicar no link para remover, o método HTTP utilizado é o GET, mas no seu Controller, o método que remove, está configurado como POST. Uma forma fácil de resolver seria alterar a anotação no método remove na classe ProdutoController.

Agora que você está recebendo uma instância de ProdutoDao através do construtor, pode remover a instância de ProdutoDao e a transação. Seu método deve ficar assim:

@Get // Alterar para @Get
public void remove(Produto produto) {
    dao.remove(produto);
}
  • A URL http://localhost:8080/vraptor-produtos/produto/adiciona, realmente você não deve acessar ela através da barra de endereços do navegador. Pois quando acessamos por lá, o método HTTP vai ser GET. Essa URL será utilizada pelo formulário que adicona produtos e tratada pelo método adiciona do seu controller. Aqui está correto mesmo.

O eror na jsp é causado por uma " (aspas) faltando no seu formulario.jsp. No fim da página, onde tem tem a parte de mostrar os erros, deixa assim:

<c:forEach items="${errors}" var="erro">
    ${erro.category} - ${erro.mssage}
</c:forEach>

Tenta essas modificações e vê se funciona?

Abraço!

Boa tarde Lucas e Nico!

Fiz as alterações, conforme você me orientou no ProdutoController, ProdutoDao e formulario.jsp e tentei acessa a URL: localhost:8080/vraptor-produtos/login/autentica

Testei com usuário que não existe e ao invés de dar a mensagem "Usuário inválido", gerou erro 404

Tentei utilizando o usuário e senha vraptor, e ocorreu o mesmo erro.

E no console mostra:

15:56:55,320 DEBUG [DefaultControllerTranslator] trying to access /login/login/autentica
15:56:55,321 DEBUG [VRaptor             ] VRaptor ended the request
solução!

Oi Ewerton. Me envia o seu projeto atual lá no email, por favor?

Abraço!

Enviei... Obrigado!!

Um abraço!

Perfeito Lucas!!

Essa segunda parte dos problemas (.JSP´s), foi por falta de atenção de minha parte...

Obrigado pela atenção Lucas e Nico!!

Um abraço e uma ótima semana pra vc´s do Alura!!!