2010-06-17 25 views
7

Kavanoz tablomda çalışacak bir görev yapmaya çalışıyorum.gradle runJar görevi?

aşağıdaki ile geldi:

task runJar(dependsOn:[jar]){ 
    ant.java(jar:,fork:true) 
} 

Ancak, ben kavanoz dosyasının yolunu bulamıyorum. Herhangi bir yardım çok takdir edilir. Teşekkür ederim!

Misha

DÜZENLEME: Tamam bu oldukça garip. Bu görev, derlemeden önce çalışır.

DÜZENLEME: düzeltildi.

task runJar(dependsOn:[jar]){ 
    ant.java(jar:"${libsDir}${File.separator}${archivesBaseName}.jar",fork:true) 
} 

teşekkür ederiz anahtar kestirme

task runJar(dependsOn:"jar")<<{ 
    ant.java(jar:"${libsDir}${File.separator}${archivesBaseName}.jar",fork:true) 
} 

Misha

cevap

1

şimdiye kadar benim en iyi çözüm içinde bir doLast {} gösterimde olduğu veya!

Misha

+1

Hi: o verir Running

apply plugin: 'java' apply plugin: 'application' mainClassName = "Main" 

gibi src/main/java bir Main.java ile

, benim build.gradle dosyası görünüyor! Ben senin çözüm denedim, ama ben kavanozdan çıktı yok - Ben sadece bir Java sonucu olsun: 1 bilgi, ben 'main' yönteminde' System.out' için yazdım rağmen ... Nasıl alabilirim çıktı? – emesx

+0

** args ** sağlamanız gerekiyor. –

2

Sen jar.archivePath değişken kullanmak gerekir;

task runJar(dependsOn:[jar]){ 
    ant.java(jar: jar.archivePath ,fork:true) 
} 
+0

** args ** nasıl sağlarım? –

+1

Örnek: http://stackoverflow.com/questions/10033853/how-to-pass-arguments-to-ant-java-method-in-groovy – TheKaptain

9

Koppor cevabı mükemmel çalışıyor.

gradle run     

:compileJava 
:processResources UP-TO-DATE 
:classes 
:run 
[Main.java's output] 
İlgili konular