2010-04-12 11 views
6

में क्लासफ़ाइल समस्या संकलित करें मैंने अपने आवेदन के लिए वसंत फ्रेमवर्क 3 का उपयोग किया है। सब कुछ ठीक है, जबकि Netbeans में विकसित लेकिन मैं एक कस्टम निर्माण की जरूरत है और के लिए एक ही किसी भी मुद्दे के बिना बनाए गए निर्माण किया है, लेकिन निम्न विधिस्प्रिंग 3

@RequestMapping(value = "/security/login", method = RequestMethod.POST) 
public ModelAndView login(@RequestParam String userName, @RequestParam String password, 
    HttpServletRequest request) { 
    ...................... 

बुला जब मैं निम्न त्रुटि त्रुटि हुई हो गया लेकिन वहाँ netbeans के साथ युद्ध बनाने के दौरान कोई मुद्दा नहीं है (मुझे यकीन है कि यह संकलन समस्या के बारे में है) क्या आप इस मुद्दे पर कोई प्रयोग करते हैं ... इसके लिए संकलित करने के लिए कोई अतिरिक्त जावैक तर्क है (नेटबीन ने कस्टम कार्य का उपयोग किया है संकलन)

प्रकार अपवाद रिपोर्ट

संदेश

description The server encountered an internal error() that prevented it from fulfilling this request.

अपवाद

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.web.bind.annotation.support.HandlerMethodInvocationException: Failed to invoke handler method [public org.springframework.web.servlet.ModelAndView com.mypackage.security.controller.LoginController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest)]; nested exception is java.lang.IllegalStateException: No parameter name specified for argument of type [java.lang.String], and no parameter name information found in class file either. 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:659) 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
com.mypackage.security.controller.AuthFilter.doFilter(Unknown Source) 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

मूल कारण

org.springframework.web.bind.annotation.support.HandlerMethodInvocationException: Failed to invoke handler method [public org.springframework.web.servlet.ModelAndView com.mypackage.security.controller.LoginController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest)]; nested exception is java.lang.IllegalStateException: No parameter name specified for argument of type [java.lang.String], and no parameter name information found in class file either. 
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171) 
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414) 
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402) 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
com.mypackage.security.controller.AuthFilter.doFilter(Unknown Source) 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)

मूल कारण

 
java.lang.IllegalStateException: No parameter name specified for argument of type [java.lang.String], and no parameter name information found in class file either. 
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.getRequiredParameterName(HandlerMethodInvoker.java:618) 
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveRequestParam(HandlerMethodInvoker.java:417) 
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:277) 
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:163) 
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414) 
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402) 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771) 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
com.mypackage.security.controller.AuthFilter.doFilter(Unknown Source) 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 

नोट रूट कारण का पूरा स्टैक ट्रेस अपाचे टॉमकैट/6.0.18 लॉग में उपलब्ध है।

उत्तर

18

तर्क कोड केवल संकलित कोड में संग्रहीत किए जाते हैं जब इसे डीबग मोड में संकलित किया जाता है, इसलिए आपको इसे डीबग मोड में संकलित करना चाहिए या @RequestParam को स्पष्ट पैरामीटर नामों के साथ आपूर्ति करना चाहिए। बाद दृष्टिकोण और अधिक विश्वसनीय है क्योंकि यह पर्यावरण पर निर्भर नहीं करता है:

@RequestMapping(value = "/security/login", method = RequestMethod.POST) 
public ModelAndView login(@RequestParam("userName") String userName, 
    @RequestParam("password") String password, 
    HttpServletRequest request) { 
    ...................... 
+0

बहुत बढ़िया पकड़ - मैं अपने बालों को फाड़ रहा था, JDKs, को देखकर शायद मेरी हडसन सर्वर कुछ निराला कर रहा था ... और यह था यह मूर्खतापूर्ण छोटी बात है। क्या यह कहीं भी दस्तावेज है? – atrain

+0

बस कहना चाहता था कि यह मुझे दर्द, क्रोध और पर्वत के ओस के मामलों को बचाता है। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^