Stacktrace confusa com VRaptor 3

32 respostas
A

ao fazer os exercicios 6.10 da apostila fj-28 da caelum, ao que me parece, esta tudo normal, mas quando inicio o tomcat 7 recebo um erro e aseguinte stacktrace,

18/10/2010 15:27:25 org.apache.catalina.core.AprLifecycleListener init

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.20/jre//lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/lib:/usr/lib

18/10/2010 15:27:26 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 15:27:26 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 15:27:26 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 15:27:26 org.apache.tomcat.util.digester.SetPropertiesRule begin

WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:controle-produtos did not find a matching property.

18/10/2010 15:27:26 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 15:27:28 org.apache.coyote.http11.Http11Protocol init

INFO: Initializing Coyote HTTP/1.1 on http-8080

18/10/2010 15:27:28 org.apache.coyote.ajp.AjpProtocol init

INFO: Initializing Coyote AJP/1.3 on ajp-8009

18/10/2010 15:27:28 org.apache.catalina.startup.Catalina load

INFO: Initialization processed in 5962 ms

18/10/2010 15:27:28 org.apache.catalina.core.StandardService startInternal

INFO: Starting service Catalina

18/10/2010 15:27:28 org.apache.catalina.core.StandardEngine startInternal

INFO: Starting Servlet Engine: Apache Tomcat/7.0.2

18/10/2010 15:27:37 org.apache.catalina.core.StandardContext filterStart

SEVERE: Exception starting filter vraptor

java.lang.IllegalArgumentException: You dont have any DI container jars on your classpath. Please choose one of the lib/containers jars and put it on your classpath.

at br.com.caelum.vraptor.config.BasicConfiguration.getProviderType(BasicConfiguration.java:101)

at br.com.caelum.vraptor.config.BasicConfiguration.getProvider(BasicConfiguration.java:70)

at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)

at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:269)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:250)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:368)

at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4193)

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

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

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)

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

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)

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

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427)

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

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649)

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

at org.apache.catalina.startup.Catalina.start(Catalina.java:585)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)

18/10/2010 15:27:37 org.apache.catalina.core.StandardContext startInternal

SEVERE: Error filterStart

18/10/2010 15:27:37 org.apache.catalina.core.StandardContext startInternal

SEVERE: Context [/fj28] startup failed due to previous errors

18/10/2010 15:27:37 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

SEVERE: The web application [/fj28] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

32 Respostas

L

primeira linha da stacktrace:

java.lang.IllegalArgumentException: You don't have any DI container jars on your classpath. Please choose one of the lib/containers jars and put it on your classpath.

no VRaptor 3.2.0 o container de DI não vem na pasta lib/mandatory mais, pq vc precisa escolher qual dos três vai usar.

no zip do VRaptor, pegue todos os jars da pasta lib/containers/spring e coloque na sua aplicação (WEB-INF/lib)

mas tem razão, a mensagem está meio confusa mesmo =( vou mudar… tem alguma sugestão de qual é a melhor mensagem?

PS: a apostila tá um pouco desatualizada em algumas partes… o VRaptor 3.2.0 que introduziu essa mudança foi lançado há menos de 2 semanas, desculpe por isso

A

ah, tudo bem, compreendo, estou um pouco acostumado com struts2, e o vraptor 3.2.0 esta sendo uma boa novidade… a apostila esta realmente um pouco desatualizada, mas pra quem ainda é iniciante em javaWeb esta sendo uma boa… sobre a stacktrace… acho que esta parte “Please choose one of the lib/containers jars and put it on your classpath.” ficou um pouco no “ar” pra quem pega o bonde andando…, que este diretorio vem no download do vraptor… eu fiquei pensando muito tempo aonde estaria esta pasta… agora q voce me disse

L

mudei a mensagem pra :

You don’t have any DI container jars on your classpath. You can find them on vraptor-3.x.x.zip, so you must put one of the lib/containers/ jars on your classpath, where is your preferred container.

ficou melhor? sugestões pra melhorar?

A

ah, sim, agora ficou bem esclarecido pra qualquer iniciante, alias, achei esta iniciativa excelente, usar a opnião do usuario para melhorar o produto. isto devia ser adotado por outros projetos tambem.

A

ops… apos colocar os jars do spring no classpath, recebi uma stacktrace mais estranha ainda

18/10/2010 18:55:37 org.apache.catalina.core.AprLifecycleListener init

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.20/jre//lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/lib:/usr/lib

18/10/2010 18:55:39 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 18:55:39 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 18:55:39 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 18:55:39 org.apache.tomcat.util.digester.SetPropertiesRule begin

WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:controle-produtos did not find a matching property.

18/10/2010 18:55:39 org.apache.tomcat.util.digester.SetPropertiesRule begin

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

18/10/2010 18:55:42 org.apache.coyote.http11.Http11Protocol init

INFO: Initializing Coyote HTTP/1.1 on http-8080

18/10/2010 18:55:42 org.apache.coyote.ajp.AjpProtocol init

INFO: Initializing Coyote AJP/1.3 on ajp-8009

18/10/2010 18:55:42 org.apache.catalina.startup.Catalina load

INFO: Initialization processed in 5712 ms

18/10/2010 18:55:42 org.apache.catalina.core.StandardService startInternal

INFO: Starting service Catalina

18/10/2010 18:55:42 org.apache.catalina.core.StandardEngine startInternal

INFO: Starting Servlet Engine: Apache Tomcat/7.0.2

log4j:WARN No appenders could be found for logger (br.com.caelum.vraptor.config.BasicConfiguration).

log4j:WARN Please initialize the log4j system properly.

18/10/2010 18:55:50 org.apache.catalina.core.StandardContext filterStart

SEVERE: Exception starting filter vraptor

java.lang.NoClassDefFoundError: com/google/common/collect/MapMaker

at br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.<init>(VRaptorApplicationContext.java:69)

at br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.<init>(SpringBasedContainer.java:42)

at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:79)

at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:110)

at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)

at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:269)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:250)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:368)

at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4193)

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

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

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)

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

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)

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

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427)

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

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649)

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

at org.apache.catalina.startup.Catalina.start(Catalina.java:585)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)

Caused by: java.lang.ClassNotFoundException: com.google.common.collect.MapMaker

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)

 29 more

18/10/2010 18:55:50 org.apache.catalina.core.StandardContext startInternal

SEVERE: Error filterStart

18/10/2010 18:55:50 org.apache.catalina.core.StandardContext startInternal

SEVERE: Context [/fj28] startup failed due to previous errors

18/10/2010 18:55:50 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

SEVERE: The web application [/fj28] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
L

vc está com o guava_r07.jar no classpath?
tem algum google-collect-xx.jar?

A

é. foi uma falha, o guava nao estava no classpath, agora, esse jar google-xxx. nao esta aqui nao.

G

aajjbb, coloque todos os jars que estão em lib/mandatory em seu classpath. Esses jars são todos obrigatórios.

A

é… mais uma mancada, mas agora eu ja arrumei, e tambem desisti por hoje, o eclipse helios nessa minha maravilha de 256mb de ram é uma beleza…, o tomcat demora quase 2 minutos pra subir, desse jeito ate o dalai lama perde a paciencia, talvez amanha eu continue a apostila…

B

ao fazer o deploy da aplicação web em um ear tenho que colocar os jars no lib do ear ? ou no web-inf/lib ?

erro

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
L

se ele está sendo usado só pela parte web, pode colocar em WEB-INF/lib… o slf4j-xxx.jar e alguma implementação, por exemplo a slf4j-log4j.-xxx.jar

B

eu tenho 2 projetos ejb e 1 war (futuramente terei mais 2 wars), pensei em empacotar tudo em um ear…

estou usando ejb3.1 CDI pra injetar objetos.

e os jars estão dentro do web-inf/lib mas continua dando erro

G

bruno.costa:
ao fazer o deploy da aplicação web em um ear tenho que colocar os jars no lib do ear ? ou no web-inf/lib ?

erro

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

Depende. Se a lib em questão é dependencia do EAR e filhos você deve deixar em EAR/lib. Caso o jar for dependência apenas do módulo web você coloca no WEB-INF/lib. Não se esqueça que se você usar uma lib em nível de EAR é necessário adiciona-la nos manifest dos projetos.

B

garcia-jj:
bruno.costa:
ao fazer o deploy da aplicação web em um ear tenho que colocar os jars no lib do ear ? ou no web-inf/lib ?

erro

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

Depende. Se a lib em questão é dependencia do EAR e filhos você deve deixar em EAR/lib. Caso o jar for dependência apenas do módulo web você coloca no WEB-INF/lib. Não se esqueça que se você usar uma lib em nível de EAR é necessário adiciona-la nos manifest dos projetos.

foi o que eu fiz. fazendo o deploy separadamente ele funciona, ao empacotar no ear que deu problema, agora ta dando isso

java.lang.NoClassDefFoundError: Could not initialize class br.com.caelum.vraptor.VRaptor

L

o que aparece depois desse erro?

vc tem esses jars no classpath?

-slf4j-XXX.jar
-slf4j-log4j-xxx.jar
-log4j-xxxx.jar

G

Alguma lib que deveria estar dentro do EAR está dentro do WEB-INF/lib. O SLF4J e todas as bridges dele devem estar no EAR e os demais projetos têm que ter essa entrada no MANIFEST.MF.

B

elas devem estar no EAR mesmo se eu não utilizar nos outros projetos?

B

Lucas Cavalcanti:
o que aparece depois desse erro?

vc tem esses jars no classpath?

-slf4j-XXX.jar
-slf4j-log4j-xxx.jar
-log4j-xxxx.jar

ta na web library

web-inf/lib

B

ta no projeto mas quando faço deploy do EAR

dentro da pasta do projeto web nao tem nada so

\WEB-INF\lib e não estão lá os jars que o eclipse mostra dentro da pasta WEB-INF\lib

ao fazer o deploy do war fora do ear ele vai com tudo

pq isso?

G

elas devem estar no EAR mesmo se eu não utilizar nos outros projetos?

O EAR na verdade é apenas uma casca para você empacotar a aplicação. Ou seja, o jar que está no EAR deve ser usado em outros projetos.

G

bruno.costa:
ta no projeto mas quando faço deploy do EAR

dentro da pasta do projeto web nao tem nada so

\WEB-INF\lib e não estão lá os jars que o eclipse mostra dentro da pasta WEB-INF\lib

ao fazer o deploy do war fora do ear ele vai com tudo

pq isso?

Isso depende da forma que você empacota a aplicação. Você está usando o Eclipse ou um ant-build? O que pode estar errado é a configuração do projeto EAR do eclipse ou teu ant-build.

B

garcia-jj:
bruno.costa:
ta no projeto mas quando faço deploy do EAR

dentro da pasta do projeto web nao tem nada so

\WEB-INF\lib e não estão lá os jars que o eclipse mostra dentro da pasta WEB-INF\lib

ao fazer o deploy do war fora do ear ele vai com tudo

pq isso?

Isso depende da forma que você empacota a aplicação. Você está usando o Eclipse ou um ant-build? O que pode estar errado é a configuração do projeto EAR do eclipse ou teu ant-build.

to usando o eclipse… eu nao mudei nada, reiniciei a maquina e ele fez o deploy certo :shock:

agora to pensando se eu passei o dia todo fazendo re-fazendo configuração pra depois voltar tudo igual estava a primeira vez, reiniciar a maquina e funcionar :shock:

B

so está dando um erro pra publicar, mas a aplicação roda sem problemas!

AVISO: PWC6351: In TLD scanning, the supplied resource file:/C:/Program%20Files/JavaDesenv/AppServer/glassfishv3/glassfish/domains/domain1/eclipseApps/HungrooEAR/HungrooEJBClient.jar does not exist

esse jar está no lib do ear

HungrooEAR/lib/HungrooEJBClient.jar

não encontrei ninguém fazendo referencia a este endereço

G

O EJB client não deve estar no lib do EAR, mas sim no mesmo nível do EAR e estar declarado no manifest dos projetos que precisam do ejb-client.

Dê uma pesquisada na documentação do J2EE sobre a estrutura de uma aplicação enterprise. Lá tem bem definido como deve ser a estrutura, inclusive os relacionamentos entre módulo ejb e ejb-client, bem como webapps e EARs.

B

garcia-jj:
O EJB client não deve estar no lib do EAR, mas sim no mesmo nível do EAR e estar declarado no manifest dos projetos que precisam do ejb-client.

Dê uma pesquisada na documentação do J2EE sobre a estrutura de uma aplicação enterprise. Lá tem bem definido como deve ser a estrutura, inclusive os relacionamentos entre módulo ejb e ejb-client, bem como webapps e EARs.

humm, colocando eles no mesmo nivel a aplicação nem funciona :shock: :shock:

G

Tem coisa errada no seu projeto. Até porque o Eclipse cria automagicamente toda a estutura para ti certinho, pronta para desenvolver e fazer deploy com os servidores embedded e exportar via EAR.

Um projeto EAR nada mais é do que uma casca que serve apenas para unir os outros projetos em um único pacote, o xxx.ear. Nele você tem os deployment descriptors application.xml (e derivados), além das libs compartilhadas por todos os subprojetos.

Um módulo EJB não pode conter libs dentro dele. Para isso ele usa as libs que estão no EAR, e assim você precisa declara-las no manifest desse módulo EJB.

Cada módulo EJB deve ter um ejb-client, que nada mais é do que um jar que contém as interfaces remotas/locais e as homes (caso aplicar). Qualquer lib que esse módulo possuir deve também estar dentro do EAR e você precisa declara-las no manifest do módulo ejb-client.

Você pode também ter um módulo web. Qualquer lib que ele precisa e que esteja dentro do EAR deve ser declarada no manifest também. As libs que sejam apenas para o módulo web devem estar dentro do WEB-INF/lib e não precisam ser declaradas no manifest.

Por fim, quando o EAR é gerado você terá basicamente um diretório com as libs externas. O jar com o módulo EJB, o jar com o módulo ejb-client e o WAR do teu projeto web deverão estar na raíz do EAR.

B

garcia-jj:
Tem coisa errada no seu projeto. Até porque o Eclipse cria automagicamente toda a estutura para ti certinho, pronta para desenvolver e fazer deploy com os servidores embedded e exportar via EAR.

Um projeto EAR nada mais é do que uma casca que serve apenas para unir os outros projetos em um único pacote, o xxx.ear. Nele você tem os deployment descriptors application.xml (e derivados), além das libs compartilhadas por todos os subprojetos.

Um módulo EJB não pode conter libs dentro dele. Para isso ele usa as libs que estão no EAR, e assim você precisa declara-las no manifest desse módulo EJB.

Cada módulo EJB deve ter um ejb-client, que nada mais é do que um jar que contém as interfaces remotas/locais e as homes (caso aplicar). Qualquer lib que esse módulo possuir deve também estar dentro do EAR e você precisa declara-las no manifest do módulo ejb-client.

Você pode também ter um módulo web. Qualquer lib que ele precisa e que esteja dentro do EAR deve ser declarada no manifest também. As libs que sejam apenas para o módulo web devem estar dentro do WEB-INF/lib e não precisam ser declaradas no manifest.

Por fim, quando o EAR é gerado você terá basicamente um diretório com as libs externas. O jar com o módulo EJB, o jar com o módulo ejb-client e o WAR do teu projeto web deverão estar na raíz do EAR.

por isso achei estranho, ao colocar no Deployment Assembly o projeto client ele automaticamente jogou pra /lib

mas estou acertando isso… obrigado pela ajuda e pelas informações.

EDITANDO…

ARRUMEI TUDO :smiley:

B

outro erro, ao ativar o CDI

org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped

P

Lucas, baixei o VRaptor do Maven Central através do Maven… Mesmo com todos os jars no classpath continuo como o erro abaixo:

GRAVE: Exception starting filter vraptor

java.lang.IllegalArgumentException: You dont have any DI container jars on your classpath. You can find them on vraptor-3.x.x.zip, so you must put one of the lib/containers/ jars on your classpath, where  is your preferred container.

at br.com.caelum.vraptor.config.BasicConfiguration.getProviderType(BasicConfiguration.java:101)

at br.com.caelum.vraptor.config.BasicConfiguration.getProvider(BasicConfiguration.java:70)

at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)

at org.apache.catalina.core.StandardService.start(StandardService.java:525)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)

at org.apache.catalina.startup.Catalina.start(Catalina.java:595)

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 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
L

vc colocou no seu pom.xml, ou só baixou o jar direto do maven?

se só baixou o jar, baixe o zip do VRaptor para ver as dependências:
http://vraptor.caelum.com.br/download.jsp

F

Lucas Cavalcanti:
vc colocou no seu pom.xml, ou só baixou o jar direto do maven?

se só baixou o jar, baixe o zip do VRaptor para ver as dependências:
http://vraptor.caelum.com.br/download.jsp

esse link ta fora.
o maven.caelum.com.br tbm ta fora…

Onde acho a tag repository com as dependencias mandatórias do vraptor, 3/4?
Acho que não consegui migrar pro 4 por essas dependencias, o maven nao da erro de build mas no tomcat não sobe a aplicação.

O erro é esse:

You don't have any DI container jars on your classpath. You can find them on vraptor-3.x.x.zip, so you must put one of the lib/containers/<container> jars on your classpath, where <container> is your preferred container.

Tomcat7
JDK 7

Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://maven.apache.org/POM/4.0.0"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>br.com.projeto.vraptor</groupId>
	<artifactId>vraptor-ajax</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>war</packaging>

	<name>VRaptor 3 Custom</name>
	<description>Projeto VRaptor 3 for Ajax and Hibernate</description>
	<url></url>

	<repositories>
		<repository>
			<id>reflections-repo</id>
			<name>Reflections Maven2 Repository</name>
			<url>http://reflections.googlecode.com/svn/repo</url>
		</repository>
		<repository>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<id>central</id>
			<name>Maven Repository Switchboard</name>
			<url>http://caelum.maven.org</url>
		</repository>
		<repository>
			<id>maven2-repository.dev.java.net</id>
			<name>Java.net Repository for Maven</name>
			<url>http://download.java.net/maven/2/</url>
		</repository>		
	</repositories>

	<profiles>

		<!-- JBoss AS Profile -->
		<profile>
			<id>jboss</id>
			<dependencies>
				<dependency>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
					<version>1.2.14</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>javax.transaction</groupId>
					<artifactId>jta</artifactId>
					<version>1.0.1B</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>javax.faces</groupId>
					<artifactId>jsf-impl</artifactId>
					<version>1.2_08</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>javax.faces</groupId>
					<artifactId>jsf-api</artifactId>
					<version>1.2_08</version>
					<scope>provided</scope>
				</dependency>
			</dependencies>
		</profile>

		<!-- Apache Tomcat Profile -->
		<profile>
			<id>tomcat</id>
			<build>
				<resources>
					<resource>
						<directory>src/main/resources</directory>
						<filtering>true</filtering>
						<includes>
							<include>**/log4j.*</include>
						</includes>
					</resource>
				</resources>
			</build>
		</profile>

	</profiles>

<!-- Dialeto Banco -->
		<dependencies>
			<dependency>
			<groupId>postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>9.1-901-1.jdbc4</version>
		</dependency>
<!-- 	Pool de Banco -->
		<dependency>
			<groupId>c3p0</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.1.2</version>
		</dependency>
<!-- 		Log do Pool -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<version>1.7.7</version>
		</dependency>
		<!-- tests -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.8.2</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jmock</groupId>
			<artifactId>jmock-junit4</artifactId>
			<version>2.5.1</version>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.9.5</version>
		</dependency>
		

		<!-- VRaptor -->
		<dependency>
			<groupId>br.com.caelum</groupId>
			<artifactId>vraptor</artifactId>
			<version>3.3.1</version>
		</dependency>
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>1.0.0.GA</version>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-all</artifactId>
			<version>1.1</version>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>com.thoughtworks.xstream</groupId>
			<artifactId>xstream</artifactId>
			<version>1.3.1</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.2.2</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>1.3.2</version>
		</dependency>

		<!-- hibernate -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.hibernate</groupId> -->
<!-- 			<artifactId>hibernate-core</artifactId> -->
<!-- 			<version>3.3.2.GA</version> -->
<!-- 		</dependency> -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-annotations</artifactId>
			<version>3.4.0.GA</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-commons-annotations</artifactId>
			<version>3.3.0.ga</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>3.4.0.GA</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>4.3.1.Final</version>
		</dependency>
		<!-- banco de test unitario -->
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb-j5</artifactId>
			<version>2.2.4</version>
		</dependency>

		<!-- CDI -->
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>

		<!-- Drivers para o hibernate -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.6</version>
		</dependency>
  		<!-- log -->
  		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.14</version>
		</dependency>

  		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>

	</dependencies>

	<build>
		<finalName>vraptor</finalName>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<excludes>
					<exclude>**/log4j.*</exclude>
				</excludes>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
				<filtering>true</filtering>
			</testResource>
		</testResources>
		<plugins>
		
		    <plugin>
		      <groupId>org.apache.maven.plugins</groupId>
		      <artifactId>maven-site-plugin</artifactId>
		      <version>3.0-beta-3</version>
		    </plugin>

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<additionalProjectFacets>
						<jst.web>2.5</jst.web>
					</additionalProjectFacets>
					<wtpapplicationxml>true</wtpapplicationxml>
					<wtpversion>2.0</wtpversion>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>br.com.caelum.vraptor</groupId>
				<artifactId>vraptor-maven-plugin</artifactId>
				<version>0.0.2</version>
				<configuration>
					<package_root>br.com.central</package_root>
					<persistenceAPI>hibernate</persistenceAPI>
				</configuration>				
			</plugin>				
			
		</plugins>
	</build>

</project>
L

vc está começando um projeto?

se sim, comece já com o VRaptor 4.

vc pode ver exemplos de poms aqui:


no lugar do ${project.version} coloque 4.0.0.Final

Criado 18 de outubro de 2010
Ultima resposta 15 de jul. de 2014
Respostas 32
Participantes 6