2015-03-16 7 views
6

मुझे grails और वसंत सुरक्षा का उपयोग करके एक त्रुटि मिली। क्या किसी को इस तरह की समस्या थी।GStringImpl को java.lang पर नहीं डाला जा सकता है। स्ट्रिंग

Error | 
Exception in thread "Thread-15" 
Error | 
java.lang.ClassCastException: org.codehaus.groovy.runtime.GStringImpl cannot be cast to java.lang.String 
Error | 
    at org.codehaus.groovy.grails.project.compiler.GrailsProjectWatcher.run(GrailsProjectWatcher.java:114) 

और

java.lang.IllegalArgumentException: Failed to evaluate expression 'User_name' 
+0

'user_name' के लिए अपना कोड 'grep'' और हमें – cfrick

+0

" $ {my_var} "के आसपास कोड दिखाएं। मेरे लिए ToString वर्क्स धन्यवाद साइबरएलेक्स – user3710320

उत्तर

20

आप सभी वर्गों (उपयोगकर्ता, भूमिका ...) उत्पन्न किये है। आपका आदेश कैसा दिखता है? इस grails s2-quickstart com.testapp User Role की तरह? अपनी कॉन्फ़िगरेशन जांचें और इसे इस ट्यूटोरियल में आज़माएं। Spring Security Plugin Tutorials

असल में इस त्रुटि का मतलब है कि आप "$ {my_var}" जैसे जीस्ट्रिंग का उपयोग करते हैं और कुछ वर्ग स्ट्रिंग की अपेक्षा करते हैं। इसे स्वचालित रूप से नहीं डाला जा सकता है। यदि आपके पास ऐसा कुछ कोड है, तो आपको इसे स्ट्रिंग में कनवर्ट करना होगा: "${my_var}".toString()

+0

विशेष रूप से, यदि आप स्थिर रूप से टाइप की गई किसी चीज़ को GString असाइन करने का प्रयास करते हैं स्ट्रिंग के रूप में (या एक स्ट्रिंग-प्रकार विधि पैरामीटर के लिए एक जीस्ट्रिंग पास करें) तो ग्रोवी आपके लिए रूपांतरण करेगा, लेकिन यदि आप ऑब्जेक्ट के रूप में टाइप की गई किसी चीज़ को असाइन करते हैं तो आपको इसे स्वयं परिवर्तित करना होगा। –

+0

सहमत हैं। मुझे लगता है कि समस्या def myvar = "$ {some value}" जैसे कोड हो सकती है जो वसंत सुरक्षा ढांचे में कुछ जावा वर्गों के लिए प्रतिनिधि होगी। – CyberAleks

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

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