| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 13:05:22
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Olá pessoal,
Estou com um tempo livre e estou dando uma olhada no VRaptor, usando como base a apostila do curso FJ-28 da Caelum.
No exercício 10 do capítulo 7 é ensinado usar a anotação @Component no ProdutoDao para que esse seja injetado pelo Spring no ProdutoController, entretanto mesmo usando a anotação, o erro do Spring (que não consegue criar a dependência ProdutoDao em ProdutoController) persiste.
O que posso estar fazendo errado?
[]'s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 13:23:34
|
raf4ever
GUJ Master
Membro desde: 30/01/2005 01:34:51
Mensagens: 1755
Localização: Fortaleza-Ce
Offline
|
Posta o stacktrace e os códigos.
|
Rafael Roque
Quis custodiet ipsos custodes?
IBM Certified SOA Associate
ITIL Foundations Certified
SCEA(I)
SCWCD
SCJP
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 13:26:11
|
maiconkeller
Smalltalk
![[Avatar]](/images/avatar/6d1662a825e666112a5bec7e4028830c.jpg)
Membro desde: 30/05/2009 10:18:36
Mensagens: 4
Offline
|
Verifique se o web.xml está configurado corretamente, contendo as configurações do VRaptor:
Verifique se o import está correto
cheque se o ProdutoController tem o atributo ProdutoDao adicionado no construtor corretamente.
ex.:
Confira os jars que você tem na pasta lib se estão corretos.
This message was edited 1 time. Last update was at 17/10/2011 13:30:10
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 13:45:12
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Maicon, está tudo ok, o VRaptor está configurado corretamente.
Está tudo igual à apostila e os outros exemplos estão funcionando.
O problema é a injeção.
raf4ever, segue o stack trace:
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 15:24:35
|
maiconkeller
Smalltalk
![[Avatar]](/images/avatar/6d1662a825e666112a5bec7e4028830c.jpg)
Membro desde: 30/05/2009 10:18:36
Mensagens: 4
Offline
|
David, boa tarde!
Reproduzi o erro removendo a anotação @Component da classe ProdutoDao e também substituíndo o "import br.com.caelum.vraptor.ioc.Component;" por "import org.springframework.stereotype.Component;".
Pode ser que esteja com algum outro problema, mas a principio veja novamente se está fazendo o import corretamente.
Eu percebi que você esta usando Hibernate, e é a única variação que encontrei entre seu exemplo e o meu código. Veja se não tem nenhum outro problema com a classe produtoDao onde a mesma nao consegue ser compilada ou qualquer outro problema no seu hibernate.cfg.xml.
Lembrando que a produtoDao tem que ficar com o import correto conforme exemplo abaixo:
abs.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2011 23:30:07
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
o noSuchMethodError geralmente é imcompatibilidade de versão de jars...
você está com mais de uma versão do hibernate no classpath? está fazendo o deploy da aplicação no jboss?
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2011 09:43:04
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Lucas Cavalcanti wrote:o noSuchMethodError geralmente é imcompatibilidade de versão de jars...
você está com mais de uma versão do hibernate no classpath? está fazendo o deploy da aplicação no jboss?
Oi Lucas,
Estou com a versão 4.0 CR4 do Hibernate.
O problema é no Hibernate... Olhei com mais calma todo o Stack Trace e está dando problema na hora de criar a SessionFactory.
O engraçado é que se eu estar o Dao sem ser injetado pelo Spring, a sessão é criada normalmente. O problema só acontece quando o Spring tenta instanciar o Dao.
Enfim, hoje estou um pouco enrolado, mas amanhã vou trocar a versão para ver se resolvo o problema.
[]'s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2011 09:46:44
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
mas tem outra lib do hibernate no classpath? o problema é que essa versão pode ser incompatível com o spring (a AnnotationConfiguration estava deprecated, e deve ter sido removida ou algo do tipo) tenta usar o hibernate 3.6.x
This message was edited 1 time. Last update was at 18/10/2011 09:47:00
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2011 10:50:15
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline
|
Lucas Cavalcanti wrote:mas tem outra lib do hibernate no classpath? o problema é que essa versão pode ser incompatível com o spring (a AnnotationConfiguration estava deprecated, e deve ter sido removida ou algo do tipo)
tenta usar o hibernate 3.6.x
Oi Lucas,
Eu já mudei o código para usar a classe Configuration (que deve ser usada no lugar na AnnotationConfiguration) e mesmo assim o problema persistiu.
Vou tentar atualizar o Spring também para a versão compatível com o Hibernate 4.
[]'s
|
Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."
http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/12/2011 10:33:45
|
thiago-dev
Entusiasta Java
Membro desde: 25/07/2008 14:27:02
Mensagens: 15
Offline
|
davidbuzatto, travei no mesmo exercício que você relata no inicio do seu post.
As diferenças são: estou usando JPA (implementação hibernate), deixei as classes de negócio (Produto, ProduoDao e etc...) em um outro projeto Java padrão, que chamo de base e no projeto web estou deixando coisas de view e apresentação (jsps, ProdutoController e etc...).
Todos os testes do projeto base estão passando.
Meu problema é a injeção do ProdutoDao no ProdutoController. Se eu instanciar ele diretamente, sem recebê-lo no construtor, ou copiar o pacote onde ProdutoDao está no projeto base para dentro do projeto web, para que ele seja injetado, tudo funciona perfeitamente.
Mas recebo o erro de injeção, se deixar ProdutoDao dentro do projeto base.
Todas as checagens que foram sugeridas aqui (principalmente as passadas pelo maiconkeller), eu já fiz.
Pelo o que analisei o Stack trace error, não é apresentado o problema com versão de .jar e eu já associei o projeto base em ?Project References? e em ?Deployment Assembly?.
Alguém tem alguma idéia do que mais posso fazer para tentar resolver o problema?
Segue stack do Tomcat:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/12/2011 16:34:34
|
thiago-dev
Entusiasta Java
Membro desde: 25/07/2008 14:27:02
Mensagens: 15
Offline
|
thiago-dev wrote:davidbuzatto, travei no mesmo exercício que você relata no inicio do seu post.
As diferenças são: estou usando JPA (implementação hibernate), deixei as classes de negócio (Produto, ProduoDao e etc...) em um outro projeto Java padrão, que chamo de base e no projeto web estou deixando coisas de view e apresentação (jsps, ProdutoController e etc...).
Todos os testes do projeto base estão passando.
Meu problema é a injeção do ProdutoDao no ProdutoController. Se eu instanciar ele diretamente, sem recebê-lo no construtor, ou copiar o pacote onde ProdutoDao está no projeto base para dentro do projeto web, para que ele seja injetado, tudo funciona perfeitamente.
Mas recebo o erro de injeção, se deixar ProdutoDao dentro do projeto base.
Todas as checagens que foram sugeridas aqui (principalmente as passadas pelo maiconkeller), eu já fiz.
Pelo o que analisei o Stack trace error, não é apresentado o problema com versão de .jar e eu já associei o projeto base em ?Project References? e em ?Deployment Assembly?.
Alguém tem alguma idéia do que mais posso fazer para tentar resolver o problema?
Segue stack do Tomcat:
Resolvido;
Caso alguém passe pelo mesmo problema:
Basta cadastrar um componente opcional no web.xml e criar a devida classe de provider para registrar o ProdutoDao (que pode estar em outro projeto como no meu caso), todo o processo está detalhado na documentação do framework em:
http://vraptor.caelum.com.br/documentacao/componentes-utilitarios-opcionais/
Thiago Santana
|
|
|
 |
|
|
|
|