2012-12-03 2 views

Antwort

16

Sie wollen wahrscheinlich die Laufzeit Classpath Ihres Source sets verwenden, die die compiled classes of your project as well as all the runtime dependencies enthält.

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

Im Fall, dass Sie die den Pfad einer spezifischen Konfiguration erhalten Sie so etwas tun kann: configurations.getByName('runtime').asPath oder kürzer configurations.runtime.asPath.

+2

Denken Sie daran, dass das Aufrufen von 'asPath' die Konfiguration auflöst. Daher müssen Sie vorsichtig sein, dass Sie die Konfiguration nicht versehentlich während der Konfigurationsphase auflösen. – Matt

+2

Bei Verwendung von Gradle in Android Studio gibt es kein sourceSets.main - Hat jemand eine Idee, was Sie im Fall der Android-Gradle-Version verwenden müssten? Das Einzige, was ich bis jetzt gefunden habe, ist android.sourceSets.main, aber es hat keinen runtimeClasspath bekommen und ich bin mir nicht einmal sicher, ob es das Richtige ist. – AgentKnopf

+0

Ich bekomme Fehler: (38, 1) Ein Problem ist bei der Auswertung des Root-Projekts 'MyProject' aufgetreten. > Die Eigenschaft 'sourceSets' für Task 'konnte nicht gefunden werden: runApp' vom Typ org.gradle.api.tasks.JavaExec. – Zon

Verwandte Themen