2012-12-03 11 views
7

यहां समस्या है: मैं कुछ जावास्क्रिप्ट को कुछ निर्भरताओं के साथ निष्पादित करना चाहता हूं, कहें, रनटाइम कॉन्फ़िगरेशन। यह कैसे किया जा सकता है?ग्रेड: JavaExec कार्य कॉन्फ़िगरेशन क्लासपाथ का उपयोग कैसे करें?

task runJava(type: JavaExec, dependsOn:[classes]) { 
     main = 'mypackage.MyClass' 
     classpath = //what should I write here to provide classes from runtime configuration? 
} 

उत्तर

16

आप शायद जो compiled classes of your project as well as all the runtime dependencies शामिल अपने Source sets के क्रम classpath उपयोग करना चाहते हैं जाएगा।

task runJava(type: JavaExec, dependsOn:[classes]) { 
    main = 'mypackage.MyClass' 
    classpath = sourceSets.main.runtimeClasspath 
} 

मामले में आप करना चाहते हैं एक विशिष्ट विन्यास के पथ आप कुछ इस तरह कर सकते हैं मिलता है: configurations.getByName('runtime').asPath या कम configurations.runtime.asPath

+2

इस बात को ध्यान में रखते हुए कि 'asPath' को कॉन्फ़िगर करना कॉन्फ़िगरेशन को हल करेगा, इसलिए आपको सावधान रहना होगा कि आप कॉन्फ़िगरेशन चरण – Matt

+2

के दौरान अनजाने में कॉन्फ़िगरेशन को हल नहीं कर सकते हैं, एंड्रॉइड स्टूडियो में ग्रेडल का उपयोग करते समय कोई स्रोतसेट नहीं है। - किसी को भी पता है कि एंड्रॉइड स्टूडियो के ग्रैडल संस्करण के मामले में आपको क्या उपयोग करना होगा? केवल एक चीज जो मैंने पाया है वह है android.sourceSets.main लेकिन इसे कोई रनटाइम नहीं मिला क्लासपाथ और मुझे यह भी यकीन नहीं है कि यह सही बात है। – AgentKnopf

+0

मुझे त्रुटि मिलती है: (38, 1) रूट प्रोजेक्ट 'मायप्रोजेक्ट' का मूल्यांकन करने में एक समस्या आई। > कार्य के लिए अज्ञात संपत्ति 'स्रोत सेट' नहीं मिल सका ': runApp' प्रकार org.gradle.api.tasks.JavaExec। – Zon

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