2015-02-11 50 views
7

https://stackoverflow.com/a/23689696/1757491Geçiş komut satırı parametreleri

Yukarıda cevabını önerilen çözüm biraz bilgi kullanmaya başladı Satır:

gradle run -Dexec.args="arg1 arg2 arg3" 

wor wor ks amaçlanan için harika ama bir yan etkisi var gibi görünüyor. Bu çalışma için komut satırı argümanları geçmek mantıklı ama örneğin her görev için onları geçmek zorunda: Ben

"build failed with an exception" 
Where:path\build.gradle line:18 which if where my run{ } is. 
olsun ben

-Dexec.args="arg1 arg2 arg3" 

dışarı bırakırsanız

gradle tasks -Dexec.args="arg1 arg2 arg3" 

cevap

5

ona bir iki farklı şekilde çözebilir:

İlk:

exec.args özellik doğrudan ana sınıftan okunabilir - bu nedenle'u run kapanışında yapılandırmaya gerek yoktur. İkinci

:

Sadece bunu eğer:

execArgs = System.getProperty('exec.args') 
if(execArgs)  
    args = execArgs.split() 
Soru Sahibinin Düzenleyen

: çalışır ama biraz sözdizimi değiştirmek zorunda kullanarak.

if(System.getProperty("exec.args") != null) { 
    args System.getProperty("exec.args").split() 
}