SpringMVC:Name for argument type ERROR
来源:互联网 发布:陈辉太极拳网络公开课 编辑:程序博客网 时间:2024/05/17 22:13
异常日志
java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and parameter name information not found in class file either. org.springframework.util.Assert.notNull(Assert.java:112) org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:144) org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.getNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:123) org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:84) org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:77) org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:123) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) net.spring.web.XssFilter.doFilter(Unknown Source)
原因分析
在SpringMVC项目有这样一个方法: @RequestMapping("hello") public String helloWorld(Map<String, Object> map, HttpServletRequest request,@RequestParam(required = false) String hhh) {System.out.println("hello");System.out.println("["+hhh+"]");map.put("message", "test message111");return "helloView";}此方法在Eclipse运行环境中能够运行成功,但是通过ant编译之后部署运行就会报上面的异常信息。经过分析发现,原来在eclipse中默认是debug级别函数里面参数名是保留的,但是ant编译就不行了。
解决方法
解决此问题有两种方法,第一种是修改参数的springmvc声明,写全@RequestParam的参数:@RequestMapping("hello") public String helloWorld(Map<String, Object> map, HttpServletRequest request,@RequestParam(value="hhh", required = false) String hhh) { System.out.println("hello"); System.out.println("["+hhh+"]"); map.put("message", "test message111"); return "helloView"; }第二种是通过修改ant的build.xml文件,使用javac debug=true<javac srcdir="${src}" destdir="${build}/WEB-INF/classes" debug="true" encoding="utf-8" classpathref="classpath" includeantruntime="on"> </javac>
总结
在使用ant编译文件的时候一定要配置和开发环境一致的设置,上面的问题就是其中一处需要注意的地方。还有很多,后面碰到在来分享。
0 0
- SpringMVC:Name for argument type ERROR
- springmvc前台get方式传值异常 Name for argument type not available
- Name for argument type [java.lang.String] not available
- No parameter name specified for argument of type
- ANT打包Name for argument type的错误
- Name for argument type [java.lang.String] not available, and parameter name information not found in
- Name for argument type [java.lang.String] not available, and parameter name information not found in
- Name for argument type [java.lang.String] not available, and parameter name information not found in
- 关于spring java.lang.IllegalArgumentException: Name for argument type [java.lang.String] 的错误
- No parameter name specified for argument of type [java.lang.String]
- Name for argument type [java.lang.String] not available......bug处理
- No parameter name specified for argument of type [java.lang.String],
- 关于spring java.lang.IllegalArgumentException: Name for argument type [java.lang.String] 的错误
- No parameter name specified for argument of type [java.lang.Integer]
- java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and p
- error C3225: generic type argument for 'T' cannot be 'System::Collections::Generic::KeyValuePair ^',
- Error: template argument uses local type
- error Unknow type name "NSString"
- hihoCoder_#1123_好配对
- Mysql列数据类型
- QT_利用qt编写一个半自动的126邮箱注册机
- 【leetcode c++】111 Minimum Depth of Binary Tree
- 转:JRE与JDK的区别详解
- SpringMVC:Name for argument type ERROR
- Spark的TaskScheduler和DagScheduler
- 【Android UI】ListView系列一(基础篇)
- ITOO3.1开发问题汇总(一)
- 【leetcode c++】 112 Path Sum
- HDU 2896 病毒侵袭 (AC自动机)
- nutch 学习 过滤器
- 标签(TabHost)
- Mac下常用的操作