2012-12-03 4 views

답변

16

당신은 아마 compiled classes of your project as well as all the runtime dependencies 포함하여 Source sets의 런타임 클래스 경로를 사용하는 것이 좋습니다.

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 Studio에서 gradle을 사용하는 경우 sourceSets.main이 없습니다 - Android Studio의 Gradle 버전의 경우 누구에게 사용해야하는지 생각하는 사람이 있습니까? 지금까지 발견 된 것은 android.sourceSets.main 뿐이지 만 runtimeClasspath가 없으며 올바른 것임을 확신하지 못합니다. – AgentKnopf

+0

오류가 발생했습니다 : (38, 1) 루트 프로젝트 'MyProject'를 평가하는 동안 문제가 발생했습니다. > 유형 'org.gradle.api.tasks.JavaExec'의 'runApp'에 대해 알 수없는 'sourceSets'속성을 가져올 수 없습니다. – Zon

관련 문제