Problema com anotações em Struts 2 [ RESOLVIDO ]

Pela mensagem de erro no log estás com problema no “javassist”. Teve um colega neste mesmo tópico que passou por isso e resolveu.

Eu dei uma olhada, não possui nenhum tipo desse JAR. =S

Dei um clean no projeto, fechei e abri o Eclipse.

25/07/2011 21:56:04 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: C:\Arquivos de programas\Java\jre6\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Arquivos de programas/Java/jre6/bin/client;C:/Arquivos de programas/Java/jre6/bin;C:/Arquivos de programas/Java/jre6/lib/i386;C:\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\Java\jdk1.6.0_24\bin;C:\Arquivos de programas\Arquivos comuns\Nero\Lib\;C:\Arquivos de programas\eclipse;;. 25/07/2011 21:56:04 org.apache.tomcat.util.digester.SetPropertiesRule begin AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Tarefa' did not find a matching property. 25/07/2011 21:56:04 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 25/07/2011 21:56:04 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 972 ms 25/07/2011 21:56:04 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 25/07/2011 21:56:04 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.32 25/07/2011 21:56:05 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-default.xml] 25/07/2011 21:56:05 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-plugin.xml] 25/07/2011 21:56:05 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Unable to locate configuration files of the name struts.xml, skipping 25/07/2011 21:56:05 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts.xml] 25/07/2011 21:56:05 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error GRAVE: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295) at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431) at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207) at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93) at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487) at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484) at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574) at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) 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.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 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) Caused by: java.lang.reflect.InvocationTargetException 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 com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293) ... 33 more Caused by: java.lang.ExceptionInInitializerError at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85) ... 38 more Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency! at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165) ... 39 more Caused by: java.lang.ClassNotFoundException: javassist.ClassPool at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:162) ... 39 more 25/07/2011 21:56:05 org.apache.catalina.core.StandardContext filterStart GRAVE: Exception starting filter struts2 java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector File: ContainerImpl.java Method: inject Line: 295 - com/opensymphony/xwork2/inject/ContainerImpl.java:295:-1 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) 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.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 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) Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295) at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431) at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207) at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93) at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487) at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484) at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574) at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424) ... 20 more Caused by: java.lang.reflect.InvocationTargetException 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 com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293) ... 33 more Caused by: java.lang.ExceptionInInitializerError at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85) ... 38 more Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency! at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165) ... 39 more Caused by: java.lang.ClassNotFoundException: javassist.ClassPool at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:162) ... 39 more 25/07/2011 21:56:05 org.apache.catalina.core.StandardContext start GRAVE: Error filterStart 25/07/2011 21:56:05 org.apache.catalina.core.StandardContext start GRAVE: Context [/Tarefa] startup failed due to previous errors 25/07/2011 21:56:05 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap GRAVE: The web application [/Tarefa] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@659db7]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1556d12]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 25/07/2011 21:56:05 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor host-manager.xml 25/07/2011 21:56:05 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor manager.xml 25/07/2011 21:56:05 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory docs 25/07/2011 21:56:06 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory examples 25/07/2011 21:56:06 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 25/07/2011 21:56:06 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 25/07/2011 21:56:06 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 25/07/2011 21:56:06 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 25/07/2011 21:56:06 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 25/07/2011 21:56:06 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/31 config=null 25/07/2011 21:56:06 org.apache.catalina.startup.Catalina start INFO: Server startup in 1613 ms

Então… falta incluir esse jar.
javassist-x.jar
(onde x é a versão da biblioteca)

Então, dentro do Struts2 tem esse Jar. Algum outro deve pedir este…

Adicionei lá, mas mesmo assim, continua o mesmo erro:

25/07/2011 22:19:43 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: C:\Arquivos de programas\Java\jre6\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Arquivos de programas/Java/jre6/bin/client;C:/Arquivos de programas/Java/jre6/bin;C:/Arquivos de programas/Java/jre6/lib/i386;C:\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\Java\jdk1.6.0_24\bin;C:\Arquivos de programas\Arquivos comuns\Nero\Lib\;C:\Arquivos de programas\eclipse;;. 25/07/2011 22:19:43 org.apache.tomcat.util.digester.SetPropertiesRule begin AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Tarefa' did not find a matching property. 25/07/2011 22:19:43 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 25/07/2011 22:19:43 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 653 ms 25/07/2011 22:19:44 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 25/07/2011 22:19:44 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.32 25/07/2011 22:19:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-default.xml] 25/07/2011 22:19:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-plugin.xml] 25/07/2011 22:19:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Unable to locate configuration files of the name struts.xml, skipping 25/07/2011 22:19:44 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts.xml] 25/07/2011 22:19:45 org.apache.catalina.core.StandardContext filterStart GRAVE: Exception starting filter struts2 java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:376) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:334) at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) 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.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 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) Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) ... 27 more 25/07/2011 22:19:45 org.apache.catalina.core.StandardContext start GRAVE: Error filterStart 25/07/2011 22:19:45 org.apache.catalina.core.StandardContext start GRAVE: Context [/Tarefa] startup failed due to previous errors 25/07/2011 22:19:45 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap GRAVE: The web application [/Tarefa] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@502819]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@78aa80]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 25/07/2011 22:19:45 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap GRAVE: The web application [/Tarefa] created a ThreadLocal with key of type [com.opensymphony.xwork2.inject.ContainerImpl$10] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@1d98a]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1712651]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 25/07/2011 22:19:45 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor host-manager.xml 25/07/2011 22:19:45 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor manager.xml 25/07/2011 22:19:45 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory docs 25/07/2011 22:19:45 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory examples 25/07/2011 22:19:45 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 25/07/2011 22:19:45 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 25/07/2011 22:19:45 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 25/07/2011 22:19:45 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 25/07/2011 22:19:45 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 25/07/2011 22:19:45 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/31 config=null 25/07/2011 22:19:45 org.apache.catalina.startup.Catalina start INFO: Server startup in 1840 ms

Não, não é o mesmo erro.

Agora o erro é
java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor

Você está com versão errada ou com jar faltando da biblioteca ASM.

Perfeito cara!

Daquela lista que você passou, tive que adicionar dois JAR’s

asm-3.1.jar
javassist-3.11.0.GA.jar

creio que eles sejam necessários também!

Po muito obrigado cara! Valeu mesmo!

Só tenho uma dúvida:

estou mexendo no olaMundoStruts.jsp que se encontra em: WebContent/WEB-INF/content

só que toda vez que o salvo pede para reiniciar o TomCat, é isso mesmo?

Sim, o Eclipse fica fazendo isso :frowning:

Bah que coisa… creio que seja um pouco complicado para uma grande organização…

Mas de boa, da de aprender direitinho.

Cara, tens alguma dica de apostila para Struts e hibernate para mim?

Valeu cara, valeu mesmo!

É só desabilitar o build automático do projeto. Assim você pede pro Eclipse fazer o build só quando quiser.

Além da apostila da Caelum, só on-line:
O site www.roseindia.net possui ótimos materiais de ambos.

Po Beleza
Valeu pela dica ai cara das apostilas

e pela grande ajuda nos problemas relatados!

Graças a pessoas como você que o GUJ é tão bom!

Valeu mesmo cara.
Agora vou dormir que amanhã é cedo trabalhar hiueaheiuaheauei.

Se cuida cara, boa noite.

Po rapaziada,

estou com outro erro estranho aqui.
Seguinte.

Tenho na pasta: WebContent o jsp: formulario-tarefas.jsp.

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

Insert title here

Adicionar tarefas

Descrição:

[/code]

Tenho na pasta WebContent/WEB-INF/content o jsp: tarefa-adicionada.jsp (Que só exibe mensagem de tarefa adicionada)

No scr, na pasta das actions tenho a seguinte Action: AdicionaTarefasAction.java

[code]package br.com.caelum.tarefas.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;

import br.com.caelum.tarefas.DAO.TarefaDAO;
import br.com.caelum.tarefas.beans.Tarefa;

public class AdicionaTarefasAction {

private Tarefa tarefa;

@Action(value="adicionaTarefa", results = {
@Result(name="ok", location="tarefa-adicionada.jsp")
})

public String execute() {
	new TarefaDAO().add(tarefa);
	System.out.println("Entrou método execute");
	return "ok";
}

public Tarefa getTarefa() {
	return tarefa;
}

public void setTarefa(Tarefa tarefa) {
	this.tarefa = tarefa;
}

}[/code]

Porém quando acesso o formulario-tarefas.jsp através de http://localhost:8080/Tarefa/formulario-tarefas.jsp

Não redireciona para a pagina tarefa-adicionada.jsp.

Dá o seguinte log: “GRAVE: Unable to read class [br.com.caelum.tarefas.action.AdicionaTarefasAction]
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor”
além de outros.

Segue completo:

26/07/2011 22:27:10 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: C:\Arquivos de programas\Java\jre6\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Arquivos de programas/Java/jre6/bin/client;C:/Arquivos de programas/Java/jre6/bin;C:/Arquivos de programas/Java/jre6/lib/i386;C:\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Arquivos de programas\Java\jdk1.6.0_24\bin;C:\Arquivos de programas\eclipse;;. 26/07/2011 22:27:10 org.apache.tomcat.util.digester.SetPropertiesRule begin AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Tarefa' did not find a matching property. 26/07/2011 22:27:10 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 26/07/2011 22:27:10 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 599 ms 26/07/2011 22:27:10 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 26/07/2011 22:27:10 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.32 26/07/2011 22:27:11 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-default.xml] 26/07/2011 22:27:11 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-plugin.xml] 26/07/2011 22:27:11 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Unable to locate configuration files of the name struts.xml, skipping 26/07/2011 22:27:11 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts.xml] 26/07/2011 22:27:12 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error GRAVE: Unable to read class [br.com.caelum.tarefas.action.AdicionaTarefasAction] java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:780) at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:165) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:376) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:334) at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) 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.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 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) Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) ... 37 more 26/07/2011 22:27:12 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error GRAVE: Unable to read class [br.com.caelum.tarefas.action.OlaMundoAction] java.lang.NoClassDefFoundError: com/opensymphony/xwork2/util/finder/ClassFinder$InfoBuildingVisitor at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:780) at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:165) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:376) at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:334) at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) 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.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 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) 26/07/2011 22:27:12 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor host-manager.xml 26/07/2011 22:27:12 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor manager.xml 26/07/2011 22:27:12 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory docs 26/07/2011 22:27:12 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory examples 26/07/2011 22:27:12 org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() 26/07/2011 22:27:12 org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() 26/07/2011 22:27:12 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 26/07/2011 22:27:12 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 26/07/2011 22:27:12 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 26/07/2011 22:27:12 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/32 config=null 26/07/2011 22:27:12 org.apache.catalina.startup.Catalina start INFO: Server startup in 1702 ms 26/07/2011 22:27:20 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn AVISO: Could not find action or result There is no Action mapped for namespace / and action name adicionaTarefa. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) 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:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)

E na navegador aparece:

HTTP Status 404 - There is no Action mapped for namespace / and action name adicionaTarefa.

type Status report

message There is no Action mapped for namespace / and action name adicionaTarefa.

description The requested resource (There is no Action mapped for namespace / and action name adicionaTarefa.) is not available.

Apache Tomcat/6.0.32

Alguém pode me ajudar?

Ainda é problema de biblioteca. Da ASM no caso.

Tente gerenciar suas bibliotecas via Maven, evita toda essa dor de cabeça com os jars.

Boa noite amigo,

Já havia percebido isso e colei outra biblioteca ASM na LIB e deu certo.

Me fale mais sobre este Maven, o que ele seria? É simples de utilizar?É de grande utilização no mercado?

Muito obrigado pelas ajudas!

Um problema comum quando iniciando struts 2 é saber quais os jars necessários pq não existe um arquivo readme que diz quais são os jars básicos, pelo menos eu nunca vi.

De acordo com Getting Started do Struts os jars básicos são os seguintes:

Now that we know we have a working Java web application, lets add the minimal required Struts 2 framework Jar files to our web application’s class path. We’ll copy these Jar files from the lib folder of the Struts 2 download to the WEB-INF/lib folder in our web application.

Find and copy to WEB-INF\lib these files (note X.X.X.X.jar refers to the version number):

commons-fileupload-X.X.X.jar
commons-io-X.X.X.jar
commons-logging-X.X.X.jar
commons-logging-api.X.X.jar
freemarker-X.X.X.jar
ognl-X.X.X.jar
struts2-core-X.X.X.X.jar
xwork-core-X.X.X.jar
javassist-3.7.ga.jar (new for Struts versions 2.2.1 and higher)

Agora, quando vamos utilizar as anotações é preciso também adicionar no classpath o jar chamado struts2-convention-plugin-X.X.X.X