2011-11-16 14 views
17

Grails में, स्रोतों से स्थानीय प्लगइन को शामिल करने के लिए एक संस्करण है। डॉक्स के अनुसार, एक BuildConfig.groovy में टाइप कर सकते हैं:Grails 2.0 में स्थानीय प्लगइन कैसे चलाएं?

// Useful to test plugins you are developing. 
grails.plugin.location.shiro = 
     "/home/dilbert/dev/plugins/grails-shiro" 

// Useful for modular applications where all plugins and 
// applications are in the same directory. 
grails.plugin.location.'grails-ui' = "../grails-grails-ui" 

समस्या यह है कि यह Grails 2.0.RC1 में काम नहीं करता है। मैंने grails install-plugin के साथ प्लगइन स्थापित करने के लिए grails clean करने की कोशिश की है और इसे BuildConfig.groovy पर रखने के लिए किया है। अभी भी हल करने में असमर्थ।

+0

आपको क्या त्रुटि मिलती है? मैंने अभी 2.0RC1 के साथ 'BuildConfig' मार्ग की कोशिश की है और ऐसा लगता है कि यह ठीक काम करता है ... आप एक कर रहे हैं या दूसरे आप नहीं हैं? 'Grails इंस्टॉल-प्लगइन' नहीं है और इसे एक ही समय में 'BuildConfig.groovy' में रख रहा है? –

+1

वह बहुत आसान था। इस 'grails.plugin.location। *' लाइन के साथ आपको बस प्लगइन इंस्टॉल नहीं करना चाहिए। बस 'BuildConfig.groovy' में इस लिंट टाइप करें और' grails run-app 'करें! –

+0

मैं इंस्टॉल-प्लगइन स्थापित करने की कोशिश कर रहा था या इसे एक ही समय में BuildConfig DSL में डाल रहा था :) धन्यवाद @tim_yates –

उत्तर

20

यह काम करता है के लिए मुझे

grails.plugin.location.shiro = "/home/dilbert/dev/plugins/grails-shiro" 

कहाँ shiro प्लगइन (नहीं निर्देशिका क्या है का नाम) का नाम है। सुनिश्चित करें कि प्लगइन का पथ एप्लिकेशन से प्लगइन के लिए एक पूर्ण पथ या सापेक्ष पथ है।

मैं पाया है कि यह कभी कभी ही प्लग इन application.properties या BuildConfig.groovy में सूचीबद्ध है काम नहीं करता है, इसलिए यदि यह है, इसे हटाने, तो grails clean निष्पादित और एप्लिकेशन को पुनः प्रारंभ।

+0

यह विधि buildConfig.groovy को जोड़कर मेरे लिए काम करती है। डैश से संबंधित अपनी टिप्पणी के लिए @andruso को +1। यदि आपकी प्लगइन में एक हाइफ़न है, तो प्लगइन नाम उद्धरण में लपेटें। उदाहरण: grails.plugin.location.'plugin-name-with-dashes '= "" –

0

आप अपने/lib में प्लगइन के लिए .zip फ़ाइल जोड़ सकते हैं और यह इंस्टॉल हो जाएगा।

उदाहरण:

compile ":myPlugin:1.0" 

फ़ाइल:

/lib/myPlugin-1.0.zip 

ध्यान दें: आप प्लगइन फ़ोल्डर की सामग्री को ज़िप करने की है।

स्रोत: http://grails.1312388.n4.nabble.com/Insert-own-local-plugin-into-build-config-td4646704.html

+0

यह प्रभावी नहीं है क्योंकि प्रत्येक बार अपडेट होने पर फ़ाइल को ज़िप और प्रतिस्थापित करना होगा। इस चरण को भूल जाओ और आप कुछ वास्तव में भ्रमित समस्याओं को ट्रैक करेंगे। – Joseph

+1

grails 2.4.0 में काम नहीं कर रहा है – sikander

7

तुम भी अपने स्थानीय Maven कैश में प्लगइन स्थापित कर सकते हैं।

प्रलेखन इस बारे में बात करते हैं:

3.7.10 Deploying to a Maven Repository

maven-install 

Maven: स्थापित आदेश Grails परियोजना या प्लगइन विरूपण साक्ष्य अपने स्थानीय Maven कैश में स्थापित हो जाएगा:

grails maven-install

यह आपको वें का उपयोग कर अपने मूल आवेदन में प्लगइन शामिल करने की अनुमति देने का लाभ है ई अधिक आम ":plugin-name:version" वाक्यविन्यास

जो आपके आवेदन को उत्पादन में प्लगइन को पुनर्प्राप्त करने के लिए सबसे अच्छी जगह निर्धारित करने की अनुमति देता है। एक आंतरिक मेवेन-रेपो या समकक्ष से।

1

चारों ओर मामले में यह डैश शामिल उद्धरण के साथ प्लगइन नाम:

grails.plugin.location.'plugin-name-with-dashes' = "<path>" 
3
Grails 3.x के साथ

वहाँ एक और तरीका यह करने के लिए है।यदि आप एक grails एप्लिकेशन और प्लगइन (स्रोत कोड) एक ही परियोजना निर्देशिका के अंदर है मान लीजिए:

/my-project 
---/my-app 
---/grails-shiro 

अपने स्थानीय प्लगइन चलाने के लिए, आप अपने आवेदन और प्लगइन के स्थान को निर्दिष्ट my-project निर्देशिका में settings.gradle फ़ाइल बनाना होगा :

include 'my-app', 'grails-shiro' 

फिर अपने आवेदन के build.gradle में निर्भरता जोड़ें:

compile project(':grails-shiro') 

आप किया है।

अधिक जानकारी के लिए plugins documentation पर देखें।