बेशक सब से ऊपर जवाब काम करते हैं, लेकिन फिर भी मैं की तरह
gradle run path1 path2
अच्छी तरह से यह कुछ का उपयोग नहीं किया जा सकता है चाहते हैं, लेकिन क्या हुआ अगर हम कर सकते हैं:
gralde run --- path1 path2
अगर आपको लगता है इसे और अधिक सुंदर है, तो आप यह कर सकते हैं, चाल कमांड लाइन की प्रक्रिया है और यह पहले Gradle करता है संशोधित करने के लिए है, इस init scripts
का उपयोग करके किया जा सकता है
नीचे init स्क्रिप्ट:
- प्रक्रिया कमांड लाइन और हटाने --- और निम्न अन्य सभी तर्क '---'
- संपत्ति जोड़ें 'appArgs' Gradle करने के लिए।ext
अपने चलाने के काम में
तो (या JavaExec, Exec) आप कर सकते हैं:
if (project.gradle.hasProperty("appArgs")) {
List<String> appArgs = project.gradle.appArgs;
args appArgs
}
init स्क्रिप्ट है:
import org.gradle.api.invocation.Gradle
Gradle aGradle = gradle
StartParameter startParameter = aGradle.startParameter
List tasks = startParameter.getTaskRequests();
List<String> appArgs = new ArrayList<>()
tasks.forEach {
List<String> args = it.getArgs();
Iterator<String> argsI = args.iterator();
while (argsI.hasNext()) {
String arg = argsI.next();
// remove '---' and all that follow
if (arg == "---") {
argsI.remove();
while (argsI.hasNext()) {
arg = argsI.next();
// and add it to appArgs
appArgs.add(arg);
argsI.remove();
}
}
}
}
aGradle.ext.appArgs = appArgs
सीमाएं:
- मैं था '---' और नहीं '-'
- का उपयोग करने के लिए मजबूर कुछ वैश्विक init स्क्रिप्ट
जोड़ने के लिए वैश्विक init स्क्रिप्ट पसंद नहीं है, तो आप आदेश पंक्ति में यह निर्दिष्ट कर सकते हैं
gradle -I init.gradle run --- f:/temp/x.xml
या बेहतर अपने खोल उपनाम जोड़ना:
gradleapp run --- f:/temp/x.xml
स्रोत
2017-08-22 08:03:49
क्या उत्तर आपकी आवश्यकताओं के अनुरूप थे? यदि ऐसा है, तो आपको समाधान के रूप में चिह्नित करना चाहिए। –
वास्तव में नहीं ... एक दोस्त और मैंने इसे करने का एक तरीका खोजा लेकिन हमारे पास अभी तक यह स्पष्ट नहीं है कि समाधान प्रकाशित करने के लिए, दोनों प्रस्तावित समाधानों की कोशिश की गई, हम समझ गए कि यह क्या किया जाना चाहिए, लेकिन नहीं किया वास्तव में काम नहीं कर रहा है ... – RecuencoJones
@ 6uitar6reat6od आपने अंत में इसे कैसे हल किया? इसके अलावा ग्रेडल का संस्करण क्या है? – xlm