xnpeng, I think you are missing the point, packages have interceptor and interceptor stack definitions. Actions live inside of packages. What you need to do is move your conventions actions into your package. The interceptor ref annotation will point to the stacks you want, but it does no good if those interceptors are not defined in the package where those actions live. To have your actions use your package, change the configuration from -
<constant name="struts.convention.default.parent.package" value="rest-default"/> to - <constant name="struts.convention.default.parent.package" value="admin"/> Then, conventions will put the actions in your package. Once this is done, since you have a default-interceptor-ref in your package, the interceptor ref annotations will no longer even be necessary. -Wes 2009/5/27 xnpeng <xnp...@163.com>: > Hi, > can some one help me? when i add annotation to my action,tomcat failed start. > > @InterceptorRefs({...@interceptorref("user"), > @InterceptorRef("defaultStack")}) > public class MainController extends MainAction {...} > Caused by: Unable to find interceptor class referenced by ref-name user - > [unknown location] > at > com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java: > at > org.apache.struts2.convention.DefaultInterceptorMapBuilder.buildInterceptorList(DefaultInterceptorMapBuilder.java: > at > org.apache.struts2.convention.DefaultInterceptorMapBuilder.build(DefaultInterceptorMapBuilder.java:90) > at > org.apache.struts2.convention.DefaultInterceptorMapBuilder.build(DefaultInterceptorMapBuilder.java:63) > at > org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.j > at > org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.j > at > org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.j > at > org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52) > at > com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:200) > at > com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55) > -- Wes Wannemacher Author - Struts 2 In Practice Includes coverage of Struts 2.1, Spring, JPA, JQuery, Sitemesh and more http://www.manning.com/wannemacher --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org