[RESOLVIDO]erro jsp/ vraptor

Pessoal estou tentando configurar o validator do vraptor mais não estou conseguindo aparece o erro abaixo :

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)


root cause 

java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
	net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
	net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
	net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
	net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:215)
	net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
	net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
	net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
	net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
	br.com.caelum.vraptor.proxy.AbstractCglibProxifier.enhanceTypeWithCGLib(AbstractCglibProxifier.java:46)
	br.com.caelum.vraptor.proxy.ObjenesisProxifier.proxify(ObjenesisProxifier.java:31)
	br.com.caelum.vraptor.view.DefaultValidationViewsFactory.instanceFor(DefaultValidationViewsFactory.java:65)
	br.com.caelum.vraptor.validator.DefaultValidator.onErrorUse(DefaultValidator.java:86)
	br.com.caelum.vraptor.validator.AbstractValidator.onErrorUsePageOf(AbstractValidator.java:55)
	br.com.AromaNaWeb.controller.ProdutosController.adiciona(ProdutosController.java:53)
	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)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)



Se alguem puder me ajudar o erro acontece quando tento cadastrar um produto invalido de acordo com os criterios que especifiquei no controle mas so que nao aparece o erro aparece esta exception , e tambem não estou conseguindo usar o redirecionamento do vraptor para outra pagina por exemplo :

validator.onErrorUsePageOf(ProdutosController.class).adiciona(produto);
result.redirectTo(ProdutosController.class).lista();

Qualquer coisa eu envio o arquivo war por email se ficar mais facil pois o arquivo tem 16 mb e aqui so permiti 1 mb , mas entao estou no aguardo de ajuda …

Poste o método completo pra ver melhor onde está o problema.
[]s

Está é a classe de controle do produto .

[code]
package br.com.AromaNaWeb.controller;

//import?s
import br.com.AromaNaWeb.dao.*;
import br.com.AromaNaWeb.modelo.Produto;
import br.com.caelum.vraptor.Validator;

import java.util.List;

import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.validator.ValidationMessage;

@Resource
public class ProdutosController {

private final ProdutoDao dao;
private Validator validator;


public ProdutosController(ProdutoDao dao, Result result, Validator validator) {
this.dao = dao;

this.validator = validator;
}

public List lista() {
return dao.listaTudo();
}
public void adiciona(final Produto produto) {

 // ESTÁ DANDO ERRO NESTA PARTE 	
if (produto.getNome() == null || produto.getNome().length() < 3) {
	validator.add(new ValidationMessage(
	"Nome é obrigatório e precisa ter mais de 3 letras", "produto.nome"));
	}
	if (produto.getDescricao() == null || produto.getDescricao().length() > 40) {
	validator.add(new ValidationMessage(
	"Descrição é obrigatória não pode ter mais que 40 letras",
	"produto.descricao"));
	}
	if (produto.getPreco() <= 0) {
	validator.add(new ValidationMessage(
	"Preço precisa ser positivo", "produto.preco"));
	}
	
	validator.onErrorUsePageOf(ProdutosController.class).adiciona(produto);
dao.salva(produto);
//verificar por que o redirectTo abaixo não funciona .
//result.redirectTo(ProdutosController.class).lista();

}

public void formulario() {
}
public Produto edita(Long id) {
return dao.carrega(id);
}
public void altera(Produto produto) {
dao.atualiza(produto);
//result.redirectTo(ProdutosController.class).lista();
}
public void remove(Long id) {
Produto produto = dao.carrega(id);
dao.remove(produto);
}
}[/code]
O validator está sendo inplementado no metodo adicionar .

Tenta assim:

public void adiciona(final Produto produto) {	
validator.checking(new Validations() {
			{
				that(!produto.getDescricao().isEmpty(), "produto.descricao",
						"descricaoProduto.obrigatorio");
                                that(!produto.getDescricao().length() > 40), "produto.descricaoTamanho",
						"descricaoTamanhoProduto.obrigatorio"); 
				that(!produto.getPreco() <= 0, "produto.precoInvalido",
						"precoProduto.invalido");
				that(produto.getPreco() != null, "produto.preco",
				"precoProduto.obrigatorio");
				
	        }
	});
	validator.onErrorRedirectTo(this).adiciona(produto);
	dao.salva(produto);
      result.use(Results.logic()).redirectTo(ProdutoController.class).lista();
	}

E lá no seu messages.properties adiciona as mensagens de erro pro usuario ver na jsp:

descricaoProduto.obrigatorio = Informe a descrição do produto
descricaoTamanhoProduto.obrigatorio = Informe uma descrição com menos de 40 caracteres
precoProduto.invalido = Preço deve ser maior que zero
precoProduto.obrigatorio = Informe um preço para o produto

Abraço!

onde coloco este arquivo message.propeties ? :oops:

Coloca na sua /src, o nome é “messages.properties”.

o eclipse esta apresentando um erro de configuração de build path…

Que erro é esse? Vc colocou todos os jars necessários na sua /lib?

sim coloquei, o erro que tá acontecendo é

“the type org.hamcrest.Matcher cannot be resolved. it s indiretly referenced from requerid .class file”

Vc possui o hamcrest-all-1.3RC0.jar na sua /lib? Se não tiver, vá na pasta do VRaptor que vc baixou e veja se está na pasta “optional”, se não estiver lá, baixa da internet esse jar e coloque na /lib:
https://code.google.com/p/hamcrest/downloads/detail?name=hamcrest-all-1.3RC0.jar&can=2&q=

Dê um “refresh” no seu projeto, depois tente novamente.

ok tentei os erros foram corrigidos o projeto foi compilado mais na hora de executar lança essa exception abaixo :

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.NullPointerException
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)


root cause 

java.lang.NullPointerException
	br.com.AromaNaWeb.controller.ProdutosController.adiciona(ProdutosController.java:41)
	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)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.


aparentemente é de objeto nulo mas eu não consigo resolver …

No editor do Eclipse, habilite o “show line numbers”, e poste a linha 41 do seu ProdutoController:
Veja tb como vc está mandando os parâmetros na JSP, poste o seu form tb, está chegando null lá.

o erro está neste trecho

 validator.checking(  new Validations()

A classe toda e essa ai o metodo adiciona verifica e grava as informações mas quem chama o formulario é o metodo formulario , lembrando que não estou tambem conseguindo redirecionar de uma jsp para outra

package br.com.AromaNaWeb.controller;


//import?s
import br.com.AromaNaWeb.dao.*;
import br.com.AromaNaWeb.modelo.Produto;
import br.com.caelum.vraptor.Validator;

import java.util.List;

import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.validator.ValidationMessage;
import br.com.caelum.vraptor.validator.Validations;
import br.com.caelum.vraptor.view.Results;




@Resource
public class ProdutosController { 
	
	private final ProdutoDao dao;
	private Validator validator ;
	private Result result;
	
	public ProdutosController(ProdutoDao dao, Result result) {
	this.dao = dao;
	
	this.validator = validator;
	}	
	
public List<Produto> lista() {
	return dao.listaTudo();
}
    
	//verificar por que o redirectTo abaixo não funciona .
	//result.redirectTo(ProdutosController.class).lista();

public void adiciona(final Produto produto) {	

	validator.checking(  new Validations() {
				{that(!produto.getDescricao().isEmpty(), "produto.descricao",
							"descricaoProduto.obrigatorio");
	                                that(!(produto.getDescricao().length() > 40), "produto.descricaoTamanho",
							"descricaoTamanhoProduto.obrigatorio"); 
					that(!(produto.getPreco() <= 0), "produto.precoInvalido",
							"precoProduto.invalido");
					that(produto.getPreco() != null, "produto.preco",
					"precoProduto.obrigatorio");
					
		        }
		});
		validator.onErrorRedirectTo(this).adiciona(produto);
		dao.salva(produto);
	    
		result.use(Results.logic()).redirectTo(ProdutosController.class).lista();
		}

public void formulario() {
}
public Produto edita(Long id) {
	return dao.carrega(id);
	}
	public void altera(Produto produto) {
	dao.atualiza(produto);
	//result.redirectTo(ProdutosController.class).lista();
	}
	public void remove(Long id) {
		Produto produto = dao.carrega(id);
		dao.remove(produto);
		}

e segue o form abaixo :

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="adiciona">
<fieldset>
<legend>Adicionar Produto</legend>
<label for="nome">Nome:</label>
<input id="nome" type="text" name="produto.nome" value="${produto.nome }"/>
<label for="descricao">Descrição:</label>
<textarea id="descricao" name="produto.descricao">${produto.descricao }</textarea>
<label for="preco">Preço:</label>
<input id="preco" type="text" name="produto.preco" value="${produto.preco }"/>
<button type="submit">Enviar</button>
</fieldset>
</form>

</body>
</html>

é isso ai se vc quiser envio o war com o projeto completo para vc por email .

Cometi um erro, no seu método adiciona em caso de erro têm que voltar pro formulário e não o próprio método:

validator.onErrorRedirectTo(this).formulario();

No browser vc chama o formulario assim:
http://localhost:8080/aromanaweb/produtos/formulario
Ou se colocou com Maiúsculas no começo:
http://localhost:8080/AromaNaWeb/produtos/formulario
Sendo que o certo seria td minúsculo.
Se ele conseguir adicionar o produto vai pro método lista(), deixe assim:

public void lista() {
		result.include("produtos", dao.listaTudo());		
	}

agora ta aparecendo o mesmo erro mas so que referencia as linhas 47 e 42

at br.com.AromaNaWeb.controller.ProdutosController$1.<init>(ProdutosController.java:47) at br.com.AromaNaWeb.controller.ProdutosController.adiciona(ProdutosController.java:42)
que são respectivamente :

// este é o erro 47
that(!(produto.getPreco() <= 0), "produto.precoInvalido",
							"precoProduto.invalido");

// e este é o erro 42	
validator.checking(  new Validations() {

Segue resultado .

O atributo preço deve ser do tipo BigDecimal na classe Produto.

agora restou o da linha 42 ta apontando para está linha .


	validator.checking(  new Validations() {

este é a exception completa

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.NullPointerException
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)


root cause 

java.lang.NullPointerException
	br.com.AromaNaWeb.controller.ProdutosController.adiciona(ProdutosController.java:42)
	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)
	br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90)
	br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
	br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53)
	br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70)
	br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
	br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56)
	br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.


--------------------------------------------------------------------------------

Se o seu preço é BigDecimal, tente fazer a verificação assim:

that(!(produto.getPreco().compareTo(BigDecimal.ZERO) <= 0, "produto.precoInvalido", "precoProduto.invalido");

infelismente continua dando o erro no trecho abaixo

validator.checking(new Validations() {

vc tem gmail para eu te enviar o projeto completo para vc ver para mim ? pois o projeto tem 16 mb.

Infelizmente não é possível por email, use o fórum para obter ajuda.
Confira se o seu método está assim.

public void adiciona(final Produto produto) {	
validator.checking(new Validations() {
			{
				that(!produto.getDescricao().isEmpty(), "produto.descricao","descricaoProduto.obrigatorio");
                                that(!produto.getDescricao().length() > 40), "produto.descricaoTamanho",	"descricaoTamanhoProduto.obrigatorio"); 
				that(!(produto.getPreco().compareTo(BigDecimal.ZERO) <= 0, "produto.precoInvalido", "precoProduto.invalido");
				that(produto.getPreco() != null, "produto.preco", "precoProduto.obrigatorio");
				
	        }
	});
	validator.onErrorRedirectTo(this).formulario();
	dao.salva(produto);
      result.use(Results.logic()).redirectTo(ProdutoController.class).lista();
	}

Pare o server Tomcat, clique com o direito no server e dê um “clean”, depois dê um start do Tomcat novamente