2
我嘗試從命令行向gradle傳遞參數。如何從命令行將參數傳遞給gradle
我的build.gradle是:
task execute(type:JavaExec) {
main = mainClass
classpath = sourceSets.main.output
}
當我做:
gradle -PmainClass=Hello execute
我得到這個:
FAILURE: Build failed with an exception.
* Where:
Build file '/home/example2/build.gradle' line: 7
* What went wrong:
A problem occurred evaluating root project 'example2'.
> Could not find property 'sourceSets' on task ':execute'.
我的問題是,我應該提供主?任何java文件包的名稱?任何特定的路徑?實際上應該是什麼sourceSet?
BTW我下面是這個:http://stackoverflow.com/questions/21358466/gradle-to-execute-java-class-without-modifying-build-gradle如果它的工作原因爲什麼不適合我? – user3409650 2014-09-10 09:06:18
如果您的項目結構遵循Gradle標準,那麼您不需要定義sourceSet {... main {..} test {..} .. blahTest {..} ..}部分。如果您的項目沒有遵循默認結構,那麼您必須在build.gradle文件中定義sourceSets部分。你可以在下面的鏈接中看到一個build.gradle文件來獲得一個想法,你還必須應用插件:'java'或者其他:http://stackoverflow.com/questions/18879250/jacoco-unit-and-integration- test-coverage-individual-and-overall – 2014-09-11 15:19:40
它爲他工作的一個原因可能是,如果他的結構匹配sourceSets的默認Gradle項目結構(在這種情況下,您不需要爲main,test等定義sourceSets部分)。其他可以是,如果sourceSet節在全局Gradle級別文件中定義,即在$ GRADLE_HOME/init.d/common.gradle文件中的任何.gradle文件,則不需要在任何項目的build.gradle中指定sourceSet節它使用Gradle。 - 或者他只是沒有在他的文章中展示這件作品(假設他的帖子中他的問題的範圍並不重要)。 – 2014-09-11 15:23:28