não consigo configurar vRaptor 3?

o erro:

Unable to load class declared as <mapping class="br.com.caelum.goodbuy.modelo.Produto"/>  in the configuration
...
Caused by: java.lang.ClassNotFoundException: br.com.caelum.goodbuy.modelo.Produto 

ou seja, a classe br.com.caelum.goodbuy.modelo.Produto não existe… dá uma olhada pra ver se é esse mesmo o nome da classe e se ela tá no pacote certo.

Legal as explicações, vai dar uma facilitada aqui nas configurações também !!!

Desculpe a invasão “AGAIN”!

Tambem estou com problemas na mesma etapa, segui os exemplos e ainda não deu certo!

Poderia dar uma olhada no seguinte post?
http://www.guj.com.br/java/235898-controlador-vraptor-nao-funciona/1#1214910

Preciso de ajuda!

galera, eu to com o mesmo problema, eu não consigo visualizar meus jsp’s, e nem minha mensagem de olá mundo aparece no console . . . . . . . eu copiei as libs (depois de copia meu projeto fico com um ponto de exclamação vermelho) e peguei o web.xml do black-project do VRaptor, mas não deu certo

meu projeto chama Dashboard

minha classe chama Mundo (mesmo exemplo da apostila fj28)

package teste;

import br.com.caelum.vraptor.Resource;

@Resource
public class Mundo {

	public void boasVindas(){
		System.out.println("Isso é um teste");
	}
}

meu jsp chama boasVindas e tá dentro de WEB-INF/jsp/mundo

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	Olá Mundo
</html>

e o meu web.xml tá assim:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>dashboard</display-name>

	<filter>
		<filter-name>vraptor</filter-name>
		<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>vraptor</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>REQUEST</dispatcher>
	</filter-mapping>
</web-app>

o console não mostra nada, apenas as mensagens normais do tomcat

21/03/2012 23:38:58 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
21/03/2012 23:38:58 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
21/03/2012 23:38:58 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/28 config=null
21/03/2012 23:38:58 org.apache.catalina.startup.Catalina start
INFO: Server startup in 3335 ms

eu to tentando acessa por essa url:

http://localhost:8080/dashboard/mundo/boasVindas

Galera, to meio desesperado já, se alguém puder me ajudar vo fica muito feliz

vlws

coloque esse arquivo na sua pasta src:

e veja se aparecem os logs do VRaptor.

tá com uma warning nessa linha:

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

de resto eu tenho as seguintes saidas no console

23:52:45,391 DEBUG [StereotypedBeansRegistrar] scanning class br.com.caelum.vraptor.converter.BigDecimalConverter for bean definition bigDecimalConverter
23:52:45,392 DEBUG [ConverterHandler ] Ignoring handling default converter class br.com.caelum.vraptor.converter.BigDecimalConverter
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning class br.com.caelum.vraptor.core.RequestInfo for bean definition VRaptorRequestProvider
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning interface br.com.caelum.vraptor.http.MutableRequest for bean definition httpServletRequestProvider
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning interface br.com.caelum.vraptor.http.MutableResponse for bean definition httpServletResponseProvider
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning interface javax.servlet.http.HttpSession for bean definition httpSessionProvider
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning class br.com.caelum.vraptor.core.DefaultInterceptorStack for bean definition defaultInterceptorStack
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning class br.com.caelum.vraptor.serialization.xstream.XStreamBuilderImpl for bean definition XStreamBuilderImpl
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning class br.com.caelum.vraptor.core.EnhancedRequestExecution for bean definition enhancedRequestExecution
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning class org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator for bean definition org.springframework.aop.config.internalAutoProxyCreator
23:52:45,392 DEBUG [StereotypedBeansRegistrar] scanning class br.com.caelum.vraptor.blank.IndexController for bean definition indexController
23:52:45,393 DEBUG [ResourceHandler ] Found resource: class br.com.caelum.vraptor.blank.IndexController
23:52:45,413 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for IndexController.index() as []
23:52:45,414 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for IndexController.index() as []
23:52:45,416 DEBUG [DefaultParametersControl] For / retrieved / with {}
23:52:45,416 INFO [DefaultRouteBuilder ] / [ALL] -> IndexController.index()
23:52:45,418 INFO [VRaptor ] VRaptor 3.4.0 successfuly initialized
21/03/2012 23:52:45 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
21/03/2012 23:52:45 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
21/03/2012 23:52:45 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/61 config=null
21/03/2012 23:52:45 org.apache.catalina.startup.Catalina start
INFO: Server startup in 3192 ms

alguma informação útil nessas saídas???

de acordo com esse log ele só está considerando o IndexController, não olhou pra classe Mundo…

você criou ela no mesmo projeto do blank project?

esse ai é otro projeto, o nome dele é dashboard . . . . . . . . mais eu ainda tenho um projeto chamado blankproject no meu workspace

será que tem alguma coisa a ver com o contexto da minha aplicação???

o estranho é que quando eu tento acessa http://localhost:8080/dashboard/mundo/boasVindas o console não mostra nem o System.out.println(“isso é um teste”) que eu coloquei, não aparece nada mesmo

era pra colocar o log4j.xml no projeto do dashboard

foi lá que eu coloquei, mas continua não aparecendo nada no console, será que a url que eu to chamando é a certa??? existe algum modo além do deploy de muda o modo de chama a aplicação no browser???

o arquivo fica com a seguinte warning

The file cannot be validated as the XML definition “/home/fuckmaster/workspace/Dashboard/src/log4j.dtd (Arquivo ou diretório não encontrado)” that is specified as describing the syntax of the file cannot be located. log4j.xml

não sei se a warning é relevante

esse warning não muda nada…

se não apareceu nada no log, pode ser que ele esteja desconsiderando o seu web.xml…

o web.xml está no lugar certo? os jars estão em WEB-INF/lib? a pasta raiz web está configurada?(WebContent por exemplo) O projeto está dentro do servidor?

se sim, tenta dar cleans nos seus projetos e no servidor e tenta de novo.

Man, funciono \o/ . . . . . . eu tava vacilando, eu criei o projeto com primeira letra maiúscula, então o certo seria chama http://localhost:8080/Dashboard/mundo/boasVindas . . . . . . falha minha, vlw mesmo pela ajuda =D

Mais aproveitando que eu já to aqui, quando eu exportar o arquivo war, eu posso coloca o nome que eu aquise no arquivo, certo?? . . . . tipo oNomeQueEuQuero.war . . . . . . . ai pra chama é só usa http:///oNomeQueEuQuero/meusMetodo

É isso mesmo???

isso

novamente gostaria de um help galera . . . . . . eu consigo acessa minhas jsps agora porém dá erro 500 quando tento enviar minhas informações através do formulario

o formulário é esse ai

<body>
	<form action="adiciona">
		<fieldset>
			<legend>Adicionar Projeto</legend>
			
			<label for="projectName">Nome:</label>
			<input id="projectName" type="text" name="projeto.projectName"/><br/>
			
			<label for="local">Local:</label>
			<input id="local" type="text" name="projeto.local"/><br/>
			
			<label for="status">Status:</label>
			<input id="status" type="text" name="projeto.status"/><br/><br/>
			
			<button type="submit">Enviar</button>
		</fieldset>
	</form> 
</body>

o meu controller é esse

package Controller;

import java.util.List;

import modelos.Projeto;
import modelos.ProjetoDao;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;

@Resource
public class ProjetoController {

	//private ProjetoDao dao;

	public ProjetoController() {

		//this.dao = dao;

	}

	public void formulario() {
	}

	public void adiciona(Projeto projeto) {
		new ProjetoDao().adiciona(projeto);
	}

	public void atualiza(Projeto projeto) {
		new ProjetoDao().atualiza(projeto);
	}

	public void remove(Projeto projeto) {
		new ProjetoDao().remove(projeto);
	}

	public List<Projeto> lista() {
		System.out.println("isso é um teste");
		return new ProjetoDao().lista();
	}
}

um detalhe . . . . . . o arquivo persistence.xml está na pasta WEB-INF, isso está certo???

vlw galera

se não falar qual foi o erro (exception) que deu não dá pra gente saber :wink:

o persistence.xml precisa estar na pasta META-INF dentro do classpath (ex pasta src, ou src/main/resources)

Olá, desculpe a demora, vo posta os erros então

esse é o que aparece no console

26/03/2012 12:24:50 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.NoSuchFieldError: INSTANCE
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:96)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:87)
	at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
	at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
	at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
	at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
	at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.NoSuchFieldError: INSTANCE
	at org.hibernate.type.BasicTypeRegistry.<init>(BasicTypeRegistry.java:94)
	at org.hibernate.type.TypeResolver.<init>(TypeResolver.java:59)
	at org.hibernate.cfg.Configuration.<init>(Configuration.java:250)
	at org.hibernate.cfg.Configuration.<init>(Configuration.java:302)
	at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:108)
	at hibernate.HibernateUtil.<clinit>(HibernateUtil.java:15)
	at modelos.ProjetoDao.<init>(ProjetoDao.java:19)
	at Controller.ProjetoController.adiciona(ProjetoController.java:25)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61)
	... 35 more

o erro acontece quando tento fazer alguma operação relacionada ao hibernate, alguma informação útil ai??

Caused by: java.lang.NoSuchFieldError: INSTANCE

qdo dá esse tipo de erro (NoSuchField, NoSuchMethod, etc) geralmente é problema de versão de jar… vc provavelmente está com duas versões do hibernate, ou usando algum projeto do hibernate que precisa de uma versão diferente.

Man, eu reparei em otro vacilo meu . . . . . . . eu não tava instanciando meu Dao, agora o erro mudo

java.lang.NullPointerException
	Controller.ProjetoController.adiciona(ProjetoController.java:25)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:616)

Uma dúvida, eu tenho que instanciar minha classe Projeto dentro do meu form???

(form abaixo)

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="adiciona">
		<fieldset>
			<legend>Adicionar Projeto</legend>
			
			<label for="projectName">Nome:</label>
			<input id="projectName" type="text" name="projeto.projectName"/><br/>
			
			<label for="local">Local:</label>
			<input id="local" type="text" name="projeto.local"/><br/>
			
			<label for="status">Status:</label>
			<input id="status" type="text" name="projeto.status"/><br/><br/>
			
			<button type="submit">Enviar</button>
		</fieldset>
	</form> 
</body>
</html>
java.lang.NullPointerException  
    Controller.ProjetoController.adiciona(ProjetoController.java:25)

null pointer é sempre qdo algo está nulo :wink: o que tem nessa linha?

É o meu método pra adiciona

public void adiciona(Projeto projeto) {
		dao.adiciona(projeto);
	}

o método do dao tá assim

public void adiciona(Projeto p){
		Transaction tx = session.beginTransaction();
		session.save(p);
		tx.commit();
	}