2012-01-09 9 views
5

मेरे पास एक जावा क्लास है जो src/java में स्थित है जो बाहरी JAR से कक्षाओं का संदर्भ देता है। मैंने JAR फ़ाइल को lib निर्देशिका में कॉपी किया। जब मैं grails run-app का उपयोग करके ऐप चलाने के लिए जाता हूं तो मुझे एक त्रुटि मिलती है कि यह आयातित वर्ग नहीं ढूंढ पाती है।lib निर्देशिका में Grails JAR फ़ाइल नहीं मिली

एक Grails परियोजना के लिए JAR लगाने के लिए सही स्थान क्या है? क्या नई विशेष जेएआर फाइलों को पहचानने के लिए Grails प्राप्त करने के लिए कुछ विशेष आदेश है?

मैं Grails 2.0.0 ओएस एक्स पर

फ़ॉलो-अप चला रहा हूँ जावा 1.6.0_29 साथ: जार रहे हैं सवाल Apache HttpComponents से कर रहे हैं। अधिक विशेष रूप से:

commons-codec-1.4.jar 
commons-logging-1.1.1.jar 
httpclient-4.1.2.jar 
httpclient-cache-4.1.2.jar 
httpcore-4.1.2.jar 
httpmime-4.1.2.jar 

उन में वर्ग फ़ाइलों जावा 1.3 के लिए संकलित किया गया है, जो एक समस्या नहीं होनी चाहिए।

~/temp/org/apache/http $ file HttpResponse.class 
HttpResponse.class: compiled Java class data, version 47.0 (Java 1.3) 

उत्तर

5

जार जोड़ने का सही तरीका इसे "BuildConfig.groovy" में जोड़कर है।

dependencies {   
     build 'org.apache.httpcomponents:httpcore:4.1.2' 
     build 'org.apache.httpcomponents:httpclient:4.1.2' 
     runtime 'org.apache.httpcomponents:httpcore:4.1.2' 
     runtime 'org.apache.httpcomponents:httpclient:4.1.2' 
} 

कृपया ध्यान दें, आप भी क्रम में अपने Buildconfig.groovy में mavenCentral() लाइन uncomment के लिए उनकी निर्भरता प्राप्त करने के लिए आवश्यकता हो सकती है: अगर यह, क्रम आदि उदाहरण के लिए संकलन समय पर की जरूरत है आप निर्दिष्ट कर सकते संकल्प लिया।

"निर्भरता संकल्प" अनुभाग here देखें।

+0

Grails 2.0.0 से शुरू, mavenCentral() डिफ़ॉल्ट रूप से असम्बद्ध है :) – rlovtang

+0

मुझे भी एक ही समस्या का सामना करना पड़ रहा है। भले ही मैंने प्रोजेक्ट lib फ़ोल्डर में अपना जार डाला है, यह बिल्कुल लोड नहीं हो रहा है :-(यदि मैं अपनी जार जोड़ना चाहता हूं तो जोड़ा जाना चाहिए जो मेवेन सेंट्रल में नहीं है? –

+0

इसके साथ कुश्ती के कुछ घंटों के बाद कम से कम), आपका उत्तर और विशेष रूप से दस्तावेज़ों के लिंक ने मुझे बचाया। +1, धन्यवाद! – Madbreaks

13

बहुत अजीब है, मैं grails clean और फिर grails run-app भाग गया और यह संकलित और ठीक भाग गया।

+0

मैंने भी वही किया और अब यह ठीक काम कर रहा है। –

+0

मुझे अभी भी समस्या है ... grails का उपयोग कर 2.0.3 – Philippe

+0

क्या आपने बिल्ड पथ में जार जोड़ा है? –

6

आप जोड़ सकते हैं या आप परिवर्तन पर गौर करना Grails प्राप्त करने के लिए

grails compile --refresh-dependencies 

चलाने की आवश्यकता lib में जार फ़ाइलों निकाल देते हैं।

+0

धन्यवाद। यह मुश्किल है। :) –

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